Skip to main content
Two endpoints accept per-call payment. Checking an existing proof is free. The exact price for each request is in the PAYMENT-REQUIRED header. It scales with the verifier’s weight and optional add-ons (IPFS pinning, extra chains).

Flow

1

Request the resource

Send the normal request with the required parameters (address, check IDs, or gate ID).
2

Read the payment requirements

An unpaid request returns HTTP 402. Decode the base64 PAYMENT-REQUIRED response header as an x402 v2 PaymentRequired object.
3

Authorize payment

Use an x402-compatible client to select the payment method and sign the payload. Private key stays in the client or wallet.
4

Retry the same request

Repeat the identical method, URL, query, and body with the base64 PAYMENT-SIGNATURE request header.
5

Confirm settlement

A successful paid call returns HTTP 200, the result, and a base64 PAYMENT-RESPONSE settlement header.

Proof check

Check existing proofs before granting access, releasing a payment, or allowing an agent action. Checks carry no charge at any query size, verifier count, or result limit. Per-plan rate limits are the only control.
Inline policy uses the same evaluator:

Proof creation

Cost = gate check (1 credit) + each verifier’s weight + proof write (2 credits) + optional add-ons. Verifier weights range from 1 (ownership-basic) to 70 (wallet-risk). GET /api/v1/payments/pricing returns the per-verifier credit table.

Settlement

Each call settles at its exact credit cost, down to sub-cent amounts, with no rounded-up minimum and no settlement cap. Per-credit price: Pricing. Always enforce a client-side maximum before signing. Treat the decoded PAYMENT-REQUIRED header as the source of truth for the current amount, asset, recipient, and timeout. After payment, validate all of the following before accepting the result:
  • HTTP status is 200
  • PAYMENT-RESPONSE is present and decodes successfully
  • settlement reports success on the selected network
  • the payer and transaction are present
  • the response body reports a completed operation

Discovery

The payment challenge includes the x402 v2 Bazaar extension with the HTTP input, JSON output example, and JSON Schema. After the facilitator completes a successful settlement, the resource can be indexed for agent and marketplace search, with no separate registration step. See x402 Bazaar discovery.

Agent spending limits

Pair x402 with an agent permission proof to limit autonomous spending.
  • Grant agent-delegation with allowedActions: ["make_payment"], plus allowedPaymentTypes: ["x402"] and a maxSpend cap; the spend rails and ceiling are required together.
  • maxSpend is a whole-number string in token base units. For USDC, 25 USDC is "25000000".
  • Use toAgentDelegationMaxSpend('25', 6) from @proofable/sdk when constructing the cap.
  • The calling application should also enforce a per-request maximum before signing any payment.
Details: Agent permissions. Every endpoint: API overview.
Last modified on October 25, 2026