// LIVE · BASE · USDC · x402

> data_
on demand,
for agents.

Basora is a per-request exchange where autonomous agents buy fresh samples — photos, voice, labels, ground-truth — directly from people. Settled in USDC on Base via x402. No keys. No accounts. Just HTTP.

$BASORA · contract address
0x83f1e36ac65e67910efee5f11b98260c2d1a6b07
// PROTOCOL TRAFFIC

One round-trip.
Four economic events.

x402 collapses discover → quote → pay → deliver into a single HTTP exchange your agent already knows. Settlement lands in ~2 seconds on Base — fast enough to put a fresh sample into the agent's context window for the next token.

Live settlementsbase · usdc
full feed →
agent.ts · x402 round-trip
1// 1) describe what you need
2const r = await fetch('https://basora.ai/api/discover', {
3  method: 'POST',
4  body: JSON.stringify({ type: 'streetview', geo: 'Berlin, Mitte', freshness: '<1h' })
5});
6// HTTP/1.1 402 Payment Required
7const { quote } = await r.json();
8// 2) sign payment in USDC on Base
9const paid = await wallet.payX402(quote);
10// 3) get the sample + on-chain license
11const out = await fetch('.../fulfill', {
12  headers: { 'x-payment': paid.header }, body: JSON.stringify({ requestId: quote.requestId })
13});
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
·0.000 USDC·voice
·0.000 USDC·price-check
·0.000 USDC·rlhf-label
·0.000 USDC·damage
·0.000 USDC·street-view
// HOW IT WORKS

HTTP 402 native.
Settles on Base mainnet.

HTTP
// 01
Agent issues a request
POST /discover with a description of the sample. Plain HTTP — agent does what it already knows.
402
// 02
402 Payment Required
Routing + Pricing agents quote the request. Response carries the x402 quote (asset, amount, payTo, facilitator).
USDC
// 03
Agent pays USDC on Base
Smart-Wallet signs USDC.transfer. Paymaster sponsors gas — no seed, no API key, no preflight contract.
~2s
// 04
Sample + on-chain proof
Verification-agent checks geo, EXIF, phash. Escrow releases — 85% contributor, 10% protocol, 5% reserve.
// WHAT MOVES THROUGH BASORA

Sample classes. Indexed live, priced dynamically.

from 0.08 USDC
street-view
first-party scene capture, EXIF + GPS + fresh-now
from 0.05 USDC
voice
native-speaker utterances, dialects, minimal pairs
from 0.12 USDC
price-check
shelf prices, menu boards, retail signage
from 0.03 USDC
rlhf labels
preference pairs, Likert ratings, toxicity class
from 0.22 USDC
damage report
post-event photos with geo and timestamp
// PROTOCOL AGENTS

A market of agents,
on top of a market of people.

Four protocol agents run the routing and verification. They pay each other in USDC over x402 — same rails the public marketplace uses. No special path for internal traffic.

Routing agent
Decomposes incoming requests, matches them to a candidate pool by geography, language, expertise and historical fulfillment latency.
Pricing agent
Quotes per-request USDC. Inputs: rarity, real-time pool depth, freshness premium, contributor reputation, demand pressure.
Verification agent
Validates geo, EXIF, perceptual hash; cross-checks against neighboring contributors. Releases escrow only on pass.
Quality agent
Maintains soulbound reputation. High-rep contributors gain access to premium, higher-paying jobs without any public leaderboard.
// WHO BUYS HERE

Five live verticals.
More are routed weekly.

travel · agentic
The personal-guide agent
Writes a 12-stop city guide in 30 seconds, buying live photos of every recommended spot from contributors physically walking those streets right now.
avg: 12 samples · 0.96 USDC
voice · low-resource ml
Multilingual ASR collector
An annotator agent for Sakha. Pays per-utterance with metadata about speaker dialect, age band and acoustic conditions.
avg: 200 utterances · 12.40 USDC
insurance · post-event
Damage inspection bot
After hail in ZIP 33602, an agent orders 50 photos of impacted residences — bought from people who actually live there, not a remote crawler.
avg: 50 photos · 11.00 USDC
retail · ground truth
Shelf-price radar
A pricing intelligence agent buys today's shelf prices and menu boards from a handful of city centers, with cryptographic proof of capture time.
avg: 30 photos · 3.60 USDC
rlhf · preference data
Distributed RLHF collector
An ML team's agent buys preference labels in bursts of 5–50 per second, with on-chain consensus signatures across 3 independent labelers.
avg: 1k labels · 30.00 USDC
open-source · agent ops
Build your own agent
Drop x402 into any HTTP client. Basora is one of the first endpoints your agent will hit. No SDK to integrate — just the protocol.
0 setup · open spec
// FOR AGENTS
Pay per request. Get the freshest data on earth.
  • Native x402 quoting and settlement on Base
  • USDC payments below 0.001 — paymaster subsidized
  • No API key, no preflight contract, no account
  • Machine-readable license attached to every sample
API reference →
// FOR CONTRIBUTORS
Get paid the second your data lands in an agent's context.
  • Coinbase Smart Wallet with passkey · 10s setup
  • 85% of every settlement goes straight to your wallet
  • Onramp / offramp built in — withdraw to card
  • Reputation grows automatically with each verified sample
Become a contributor →
// FOR BUILDERS
Ship agents with eyes in the real world.
  • Drop Basora into any agent loop with a single endpoint
  • Verifiable provenance & on-chain license per sample
  • Sub-3s end-to-end latency from request to fulfillment
  • Live a2a (agent-to-agent) resale with royalties
Open marketplace →
// THE API

Four endpoints. No SDK.

Basora is plain HTTP. Any agent that can speak fetch — Python, TypeScript, Rust, LangGraph, your own runtime — can buy a sample in a single round-trip. The 402 response carries everything needed for the second call.

POST/discoverSubmit a need, receive a quote
POST/fulfillPay and pull the sample
GET/feedStream live settlements
GET/statsProtocol-wide metrics
curl · 402 round-trip
1# 1) describe a sample you need
2curl -X POST https://basora.ai/api/discover \\
3  -H 'content-type: application/json' \\
4  -d '{"type":"streetview","geo":"Berlin, Mitte","freshness":"<1h"}'
6# HTTP/1.1 402 Payment Required
7# x-payment-asset: USDC
8# x-payment-chain: base
9# x-payment-amount: 0.083
10# x-payment-pay-to: 0x21204a52...
11# x-request-id: req_2u6m...
13# 2) sign x402 payment, fulfill
14curl -X POST https://basora.ai/api/fulfill \\
15  -H 'x-payment: <signed-x402-payload>' \\
16  -d '{"requestId":"req_2u6m..."}'
// UNIT ECONOMICS

On every 0.10 USDC request.

Margins of an exchange, not of a SaaS. The protocol takes a thin slice and routes the rest to the human who produced the data, in the same block as the sample is delivered.

85%
0.085 USDC
To contributor
released the instant verification passes
10%
0.010 USDC
Protocol fee
infra · verification · paymaster gas
5%
0.005 USDC
Dispute reserve
auto-refund for failed fulfillments
// START USING BASORA
Plug live ground-truth into your next agent loop.
Spin up the marketplace, watch live settlements, or hit /discover and /fulfill from the console. Mainnet from the first request.