💳 Pay-per-call
Machine-payable API access over BSV. No account, no signup, no subscription, no card. You pay a few hundred satoshis, you get the call. One payment, one call — no token to hold, nothing to leak. That is the entire relationship.
Verification is always free — checking any proof needs no payment and no account —
and the hello/time demo endpoints let you exercise the payment flow itself. The paid
work (fetch, capture, batch) is priced per call, sub-cent, and settles in one round trip.
Why this exists
Every API on the web assumes a human with an email address and a credit card sits behind the client. Software agents increasingly do not: an agent that needs one page from one service cannot sign up, verify an email, accept terms and enter card details. It needs to pay, get the thing, and move on.
Sub-cent payments make that possible. A card network cannot settle 400 satoshis (a small fraction of a cent) — the fees are orders of magnitude larger than the payment. BSV can.
What's for sale (main)
hello1 sat per calltime1 sat per callfetch400 sat per call ⛓ anchorsshot400 sat per call ⛓ anchorsbatch300 sat per call (sized by leaf count) ⛓ anchorsproofpack6000 sat per callThis table is generated from the running configuration, so it is always the real price.
Machine-readable version: curl https://bsv.cx/pay
Need portable inclusion evidence, not a new anchor? Proofpack takes any confirmed txid and returns a freshly verified BEEF, BUMP and self-synced header-tip attestation in one paid call.
Prefer to pay in USD? (MNEE)
Don't hold BSV? You can settle an offered bundle in MNEE — a native-BSV USD stablecoin — so an agent that never touches a volatile coin can still pay. It costs materially more than the native-BSV path above (paying in BSV is always cheapest here); that gap is the convenience. Verification stays free either way.
fetch$0.01 for 1 call in MNEEshot$0.01 for 1 call in MNEEproofpack$0.0025 for 1 call in MNEEPay the per-call price in MNEE to 1HRfvX63pDZEtUbJcA9Su9hvAbGpkQrU8A, then attach the txid as an
X-MNEE-Txid header on your request — one payment, one call. We verify it on-chain ourselves. You can
also POST it first to confirm it is a valid, unspent payment before you spend it:
curl -X POST https://bsv.cx/pay/mnee \
-H 'content-type: application/json' \
-d '{"resource":"fetch","txid":"<your MNEE txid>"}'
{ "ok": true, "verified": true, "mneeUsd": … }
# then spend it on one call:
curl -X POST https://bsv.cx/f -H 'X-MNEE-Txid: <your MNEE txid>' \
-H 'content-type: application/json' -d '{"url":"https://example.com"}'
Generated from config, so it is always the real MNEE price. Machine-readable: the
mnee block in curl https://bsv.cx/.well-known/x402.
How to engage — pay per call
Step 1 — get a quote
curl -i -X POST https://bsv.cx/f \
-H 'content-type: application/json' \
-d '{"url":"https://example.com"}'
HTTP/1.1 402 Payment Required
{
"invoiceId": "…", "payTo": "1…",
"amountSats": 400,
"perCallSats": 400, "submitUrl": "https://bsv.cx/pay/<invoiceId>/submit"
}
One invoice buys one call. Each invoice gets its own freshly derived address, so your payment settles exactly one invoice and can never be confused with someone else's.
Step 2 — pay it, and you are served
curl -X POST https://bsv.cx/pay/<invoiceId>/submit \
-H 'content-type: application/json' \
-d '{"rawtx":"0100000001…"}'
{ "ok": true, "txid": "…" }
You send us the signed transaction and we broadcast it. That means no waiting for a block: the network arbitrates, and you are served immediately on mempool acceptance. Then re-request the resource with the same payment attached (see the x402 one-round-trip below, which folds these two steps into one). The curls in this section are a complete working client — no bsv.cx-specific library required.
Or just speak x402 — one round trip
The three steps above are our own dialect and they are not going anywhere. But if your client
already speaks x402 (the emerging standard for HTTP 402 agent payments), you do not need any
of it: make the request, read the PAYMENT-REQUIRED header, and make the same request
again with the payment attached. No invoice endpoint, no session, no bsv.cx-specific code.
402 + PAYMENT-REQUIRED: base64 of an x402 v2 PaymentRequired — price, address, and a bazaar descriptor telling you how to call the endpointPAYMENT-SIGNATURE: base64 of {accepted, payload:{lockingScriptHex, transaction}}200 with the resource and a PAYMENT-RESPONSE header carrying the settlement txid — your receipt. Each further call is its own payment; there is no reusable token.exact — you sign a whole Bitcoin transaction, because that is what a UTXO payment is; we verify and broadcast it ourselvesEvery product we sell, with prices, input schemas and output examples, in one document:
curl https://bsv.cx/.well-known/x402. A working client learns the request shape from the 402 itself and
pays for a call — no bsv.cx-specific code.
How it actually works — read the spec, not our word for it. The payment scheme is a published open specification, BRC-166 — so you can check exactly how a payment is formed, verified and settled, and hold this service to it rather than trusting a black box: BRC-166: P2PKH Payments for HTTP 402, under review as bsv-blockchain/BRCs#231. It is a companion to x402#2890 (the BRC-29/42 mode); the x402-side binding lives at x402-bsv-p2pkh. Permissionless, self-verifying, pay-per-call payments any holder of BSV can make with no wallet ecosystem required.
Proof the paid path settles — check it yourself
Everything above is a claim. Here is one real payment that actually happened on mainnet, with every field you need to verify it without spending anything and without trusting us.
1Dy8XGHcuyjsfSs2QpyEiP1w4cVNQaXHYn76a9148e3f1506db9e226b5850554953829d536299312588achello quote8beeaead43c578de5b22c0bd30ac6342ecd1855d7ad31dfa223482e920d12bbcCheck it on explorers that are not us — the payment either exists on the public ledger or it does not, and neither of these takes our word for anything: WhatsOnChain · Bitails. Look for an output of 10 satoshis whose script is the hex above. That is the whole verification: the locking script in the challenge is the one the chain was paid.
Being straight about what this is: we made this payment ourselves, to capture a worked example. It proves the rail settles end to end — challenge, signed transaction, broadcast, receipt. It is not evidence that anyone else has used the service, and we are not going to dress up our own test transaction as customer traffic.
What a call actually costs
One payment buys one call, at a flat per-call price. Rendering work (fetch, capture) varies in cost — a 2-second page and a 30-second page are not the same to run — but under pay-per-call we absorb that variance rather than meter it: you pay the published per-call price and we eat the tail on a slow page, bounded by the render timeout. Batched timestamps are the one exception — their price is known up front from the number of hashes, so that invoice is sized by leaf count at quote time (a bigger batch is cheaper per document).
amountSats in the 402 — flat for render work; sized by leaf count for a batchtxid, in the PAYMENT-RESPONSE header and an X-Pay-Txid headerCapacity & fairness
If we are at capacity you get 503 with a Retry-After derived from
real observed render times, and your call is not consumed. We would rather tell you to come back in
four seconds than silently park your request until it times out.
The interesting one: verifiable fetch
/f returns clean markdown of a live page and an on-chain receipt
committing to exactly those bytes at that moment. Anyone can later verify what you were served — without
trusting us, and even if this service disappears. Scraping is a commodity; a third-party-checkable record of
what the web said is not.
sha256(content) = the manifest's contentSha256sha256(manifest) = the receipt idbsv.cx / fet2 / <id>Verification endpoints are free and public — a proof nobody can check is not a proof. See a real one: live receipt →
Do you need BSV at all?
Probably not. Notarizing, archiving and every verification endpoint are free — permanently, by design.
If you do want some
The amounts here are very small. One verifiable fetch costs 400 sat — 0.00000400 BSV. As an illustration only: at $50/BSV that is about $0.000200. We state the assumed price because it moves; the satoshi figures in the table above are the real ones.
Do not complete KYC at an exchange just to use this. The smallest practical exchange purchase is thousands of times more than you will ever spend here. That is a bad trade for you, and we would rather say so than sell you the trip.
If you still need a small amount, the realistic routes — listed in no order, with no endorsement — are a wallet with in-app purchase, an exchange that lists BSV, or a person who already holds some sending you a few thousand satoshis. Any BSV wallet works. We do not care which one you use.
You are buying postage, not an investment. Nothing on this page is advice about acquiring or holding BSV.