io.github.0rkz/byte-protocol

PayPerByte — per-byte data for AI agents: x402 USDC on Base, EIP-712-attested. No token.

Endpointhttps://mcp.payperbyte.io/mcp (streamable-http)
Registry version0.13.0
Now15 tools · grade C (71) · pin ts_5898ef5279065de8f6c4a48a96279894 · protocol 2025-06-18
First / last listed2026-11-04 02:45 UTC / 2026-11-04 02:45 UTC
Grade over time2026-11-04: C (71), 15 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-04 02:45 UTC
15 tools, grade C (71)

Tools: byte_search_publishers byte_get_publisher byte_get_network_stats byte_check_subscription byte_get_token_balances byte_list_feeds byte_list_my_subscriptions byte_subscription_health byte_unsubscribe byte_subscribe byte_register_publisher byte_publish_data byte_query_fact byte_buy_data byte_verify_payload

Current tools (15)

byte_search_publishersSearch PayPerByte publishers by topic and sort order. Returns publisher addresses, topics, subscriber counts, message counts, and price-per-KB.
params: query, sortBy, limit
byte_get_publisherGet on-chain info for a specific PayPerByte publisher: status, subscriber and message counts, USDC revenue, and the registered schema (size bounds, cadence, price-per-KB).
params: address*
byte_get_network_statsGet PayPerByte network-wide statistics: total publishers, messages streamed, and total subscriber fees settled in USDC.
params: none
byte_check_subscriptionCheck if an address is subscribed to a specific publisher on PayPerByte.
params: subscriber*, publisher*
byte_get_token_balancesGet USDC and ETH balances for an address on Arbitrum Sepolia (the on-chain testnet layer — MockUSDC settles subscriptions and fact-oracle queries there). Does NOT show the Base-mainnet USDC balance that byte_buy_data spends.
params: address*
byte_list_feedsList all active data feeds in the PayPerByte catalog with topics, price-per-call, and frequency (pricePerKB is a deprecated alias).
params: none
byte_list_my_subscriptionsList every active subscription for a given wallet address. Each entry has the publisher address, topic, status, when you subscribed, messages received in 7/30 days, USDC spent in 7/30 days, and the timestamp of the last message received. Use this to see what you're currently paying for and decide whether to unsubscribe.
params: subscriber*, indexerUrl
byte_subscription_healthGet the content-drift signal for a publisher. Compares their last 7 days of publishing activity (cadence, message count) against their 23-day baseline (days 8-30). Returns 'stable' (steady publishing), 'moderate' (20-50% cadence shift or 24-48h silence), 'significant' (>50% shift or >48h silence), or 'unknown' (new publisher, insufficient baseline). Use this to detect when a publisher you subscrib
params: publisher*, indexerUrl
byte_unsubscribeUnsubscribe from a publisher's data feed. Takes effect next block: no more billing, no more data flow. Reversible — you can resubscribe later via byte_subscribe. Use this when a publisher has pivoted content (check with byte_subscription_health first) or when you simply don't want the feed anymore. Requires PRIVATE_KEY for the connected wallet.
params: publisher*
byte_subscribeSubscribe to a PayPerByte publisher's data feed. By default also sets USDC allowance to DataStreamLib to type(uint256).max so the subscription doesn't silently lose payments when allowance depletes (the contract's allowance-skip path emits DataStreamed with amount=0 on transferFrom failure rather than reverting). Pass skipAllowance: true to opt out and set a finite cap manually. Requires PRIVATE_K
params: publisher*, skipAllowance
byte_register_publisherRegister as a data publisher on PayPerByte. Registers a schema and the publisher on-chain. Requires PRIVATE_KEY. PayPerByte v1 publishers are first-party and unstaked — leave stake at '0'; a non-zero USDC stake is approved to DataRegistry first if you choose to post one.
params: stake*, topic*, expectedSize*, maxSize*, frequency*, pricePerKB*
byte_publish_dataPublish data to a subscriber via the PayPerByte DataStream contract. Hashes the payload, records size on-chain, and settles the fee in USDC. Requires PRIVATE_KEY.
params: subscriber*, data*, maxFee*
byte_query_factQuery a PayPerByte fact-oracle publisher for a signed answer with citations. Posts the question to a registered fact-oracle publisher (topic='fact-oracle'), waits for the on-chain BroadcastStreamed response, and returns the answer plus structured citation URLs. The signed receipt proves which publisher produced the answer (provenance + tamper-evidence), NOT that the answer is correct — ground your
params: question*, subscriber_address*, max_byte_cost, topic_filter, min_publisher_pqs, max_response_latency_ms
byte_buy_dataBuy a single data packet from any PayPerByte feed via the x402 payment gateway. No subscription, no allowance, no prior on-chain setup — pay-per-call USDC settlement. The MCP server signs an EIP-3009 transferWithAuthorization on behalf of the wallet whose PRIVATE_KEY is configured, the x402 facilitator submits the tx, and the data comes back inline with the on-chain settlement tx hash. Use byte_su
params: feed*, body
byte_verify_payloadVerify-before-act: confirm a data payload an agent is about to act on actually matches what the publisher cryptographically attested to on-chain. Recomputes keccak256 of the received bytes and compares it to the on-chain EIP-712 PayloadAttestation hash. ALWAYS call this on BYTE-sourced data before acting on it; if verified=false the bytes were tampered/corrupted in transit and MUST NOT be used. An
params: data*, expectedHash, txHash, hashMode

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.