v2

latestOpenAPI 3.1.0Proprietary2026-07-26127193620.1 KB
Payments

Pay a payment challenge

Settle a challenge addressed to your org as payer. The request body carries a signed x402 PaymentPayload: an EIP-3009 transferWithAuthorization signed locally with your own key, whose nonce is bound to the challenge via the SDK's deriveEip3009Nonce. The platform verifies every signed field against its own record of the challenge, applies your spend policy, and settles on-chain through a facilitator. Settlement is non-custodial; Primitive never holds funds. Idempotent: paying an already-settled challenge returns the original receipt. Most callers use the SDK pay() helper rather than building the payload by hand.

post/x402/challenges/{id}/pay

Path parameters

idstring uuid required

Resource UUID

Headers

Idempotency-Keystring

Optional client-supplied idempotency key. Retrying a request with the same key returns the original result instead of performing the action a second time; if omitted the server derives one from the canonical payload hash. Safe to retry network failures without duplicating side effects.

Request body

Response

Challenge settled (or already settled)

successtrue required