One payment, one permanent link
$2.00. One-time. It buys one code that never stops resolving — including
after you have stopped paying us anything at all, which for a one-time purchase
is immediately. There is no renewal and nothing to cancel.
Discover the price first
protocols, which tells you which of the two rails below
this deployment actually speaks.
The flow
1
Ask, without credentials
2
Get a 402 carrying both offers
3
Pay whichever you support, and retry the same request
Send the identical body again with your payment credential attached.
4
Get the link, a receipt, and a key
MPP (Stripe + Tempo)
MPP settles to a card via a Shared Payment Token, or in stablecoin. Send the credential in theAuthorization header:
id is an HMAC over its own
parameters, so an edited amount, recipient or expiry produces an id we cannot
re-derive and the payment is refused with a 400.
On success you get Payment-Receipt, base64url JSON:
x402
x402 v2 settles stablecoin on-chain — USDC on Base by default. DecodePAYMENT-REQUIRED for the requirements:
amount is atomic units: 2000000 is $2.00 of a six-decimal USDC. Sign an
EIP-3009 or Permit2 authorisation and retry with PAYMENT-SIGNATURE:
PAYMENT-RESPONSE back with the settlement, including the transaction
hash.
We compare the
accepted block you echo against the requirements we compute
fresh for your request, and forward only ours to the facilitator. A payment for
the wrong amount, asset or recipient is refused with a 400 before anything is
settled. Fetch a new 402 rather than adjusting the numbers yourself.Topping up an account you already have
Send both schemes in oneAuthorization header, or an Authorization: Bearer
alongside PAYMENT-SIGNATURE. The credit lands on the account the key belongs to
and no new key is issued.
Rules worth knowing before you build
A payment credential is spendable exactly once
A payment credential is spendable exactly once
Replaying one returns
409. Permanent links cannot be un-issued, so a double
spend is not something we could correct afterwards. For MPP the key is the
challenge id; for x402 it is the transfer authorisation nonce.Challenges expire after five minutes
Challenges expire after five minutes
An expired one returns
402. Retry with no credential to get a fresh
challenge — do not edit the expires field, which is covered by the HMAC.A machine account gets exactly what it paid for
A machine account gets exactly what it paid for
No free links on top. The free tier’s cost of entry is a verified email
address, and a machine account has never had one. When your credits are spent,
POST /api/links returns 402 telling you to buy another.Your paid link starts quarantined, like every other link
Your paid link starts quarantined, like every other link
Paying does not buy trust, and it does not have to: a quarantined link
resolves normally. See Quarantine.
A failed payment creates nothing
A failed payment creates nothing
If settlement fails the claim is released, so you can retry with a working
instrument. No link, no account, no charge.