# Call a fare

Same URL for humans and agents. Browsers get an HTML paywall. Agents send Accept: application/json.

curl -H "Accept: application/json" https://fare.run/{slug}

HTTP 402: decode PAYMENT-REQUIRED (JSON body equals that object). Sign accepts[0] (exact USDC on Base) and retry with PAYMENT-SIGNATURE.

HTTP 503: the payment is not confirmed yet. Retry the same signature. Do not sign a new one.

Use the official @x402/fetch wrapper. Fare does not ship a buyer SDK. Calling agents do not sign in and are not sent to Create.

A seller’s own agent that lists fares uses the seller account (see /docs/create), not a caller identity. That token is Authorization: Bearer on /v1/fares. It is not sent to /{slug} and is not a caller login.

Human checkout URLs are never in the JSON 402 body.

