BYTE · LIBRARYARB SEPOLIA · 421614
BLK · FINALITY · ~250msGAS · LIVE
Loading network metrics…
PayPerByte
Live on Arbitrum Sepolia testnet

Verified data for AI agents, paid per byte.

PayPerByte is a curated set of first-party feeds where every payload is cryptographically signed and provenance-stamped — not asserted, verifiable. Agents pay per call in USDC over x402: a wallet, not an API key. No token.

Latency
~250ms
arb sequencer
Feeds
first-party
Messages
settled on-chain
Price
$0.003
per call
Live Networklive
USDC settled$0.00
Messages settled
Feeds live
As-of block
How it works

Three steps. One settlement loop.

Find a feed, subscribe with a bounded USDC allowance, and pay per byte as your agent consumes data. Every step is a single on-chain call on Arbitrum.

Discover

01

Browse the catalog — or list feeds straight from the MCP server.

#every feed is a first-party PayPerByte publisher.
$agent.callTool('byte_list_feeds')
weather · earthquakes · btc-metrics · defi-yields
threat-intel · cve-facts · merchant-trust · …
21 feeds + oracles · $0.003 a call
SRC · DataRegistry · byte-mcp-server

Subscribe

02

Subscribe on-chain, then set a bounded USDC allowance.

#subscribe, then approve a spend cap.
$cast send $DATA_REGISTRY 'subscribe(address)' $feed
$cast send $USDC 'approve(address,uint256)' $DATA_STREAM 10e6
subscribed · allowance $10.00 USDC
#cancel any time — unsubscribe or revoke.
SRC · DataRegistry.subscribe

Pay per byte

03

Consume data; USDC settles per byte, automatically.

#the feed delivers; settlement is one call.
payload 4,338 bytes → 5 KB-blocks
charged $0.015 USDC · per byte
tx 0xb5be…b781 · 6 s
#or pay one-off over HTTP via x402.
SRC · DataStream.streamBroadcast
For developers

A few lines. Subscribed.

Drop the MCP server into any agent. Connect a wallet, subscribe to a feed, start reading data — settled per byte in USDC.

Reach it from
TypeScript / Node
byte-mcp-server (MCP)
live
Python
MCP client
live
Any HTTP client
x402 micropayments
live
Solidity (on-chain)
call DataStream / DataRegistry directly
any EVM
#npm i byte-mcp-server
import { Client } from "@modelcontextprotocol/sdk";
const c = new Client({ name: "agent" });
await c.callTool("byte_subscribe", { feed: "weather" });
const data = await c.callTool("byte_read", { feed: "weather" });
{ payload, bytes, fee_usdc, tx }
byte-mcp-serverv0.7 on npm · the agent-native interface to PayPerBytebyte_subscribesubscribe a wallet to a feed and set a bounded USDC allowancebyte_readpull the latest payload; settles per byte in USDC, on-chain
Infrastructure

Boring stack. Bored on purpose.

An audited contract core. A battle-tested rollup. USDC for settlement. No new chain, no token.

Chain
Arbitrum
Sepolia testnet · One mainnet next
Settlement
~250 ms
sequencer finality
Payment
USDC
per-byte, settled on-chain
Pricing
$0.003
per call · KB-block
Access
MCP + x402
byte-mcp-server · HTTP 402
Contracts
3 core
Solidity 0.8.24 · Foundry
Catalog
21 live
first-party feeds + oracles
Status
Testnet
Arbitrum Sepolia
Mainnet waitlist

Be first in line when feeds reach mainnet.

PayPerByte is live on Arbitrum Sepolia testnet today — connect a wallet and try it now. Mainnet is audit-gated; join the waitlist and you'll be first to know when it opens.

No spam. One email when mainnet opens.

Email