Data Types
The examples below use the v2 EIP-3009 payload shape defined by the exact EVM scheme.
PaymentPayload
{
"x402Version": 2,
"resource": {
"url": "https://api.example.com/premium",
"description": "Premium API access"
},
"accepted": {
"scheme": "v2-eip155-exact",
"network": "eip155:84532",
"amount": "1000000",
"asset": "0x09dadb93ed09db115b03439856ef85c875ac2d68",
"payTo": "0xAbCd1234AbCd1234AbCd1234AbCd1234AbCd1234",
"maxTimeoutSeconds": 300
},
"payload": {
"authorization": {
"from": "0xDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEf",
"to": "0xAbCd1234AbCd1234AbCd1234AbCd1234AbCd1234",
"value": "1000000",
"validAfter": "0",
"validBefore": "9999999999",
"nonce": "0xabc123..."
},
"signature": "0xdeadbeef..."
}
}
PaymentRequirements
{
"scheme": "v2-eip155-exact",
"network": "eip155:84532",
"amount": "1000000",
"asset": "0x09dadb93ed09db115b03439856ef85c875ac2d68",
"payTo": "0xAbCd1234AbCd1234AbCd1234AbCd1234AbCd1234",
"maxTimeoutSeconds": 300
}
Field tables
Shared requirement fields:
Field | Meaning |
|---|---|
| Scheme id ( |
| CAIP-2 chain id ( |
| Token contract address. |
| Recipient address. |
| Authorization validity window in seconds. |
| Exact amount in atomic units. |
| Scheme-specific extensions (nullable). |
Payload fields:
Field | Meaning |
|---|---|
|
|
| The requirement the client accepted. |
| Scheme-specific authorization + signature. |
| Optional resource metadata. |
| Optional extensions such as |
VerifyResponse
{
"isValid": true,
"payer": "0xDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEf"
}
Field | Presence | Meaning |
|---|---|---|
| always | Whether the payment passed simulation and signature checks. |
| when invalid | Why the payment was rejected. |
| optional | Detailed diagnostic. |
| on success | Extracted payer address. |
| optional | Scheme-specific extensions. |
SettleResponse
{
"success": true,
"transaction": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"network": "eip155:84532",
"payer": "0xDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEfDeAdBeEf"
}
Field | Presence | Meaning |
|---|---|---|
| always | Whether the settlement transaction was mined. |
| always | Hex transaction hash on success; |
| always | CAIP-2 network id on success; |
| optional | Extracted payer address. |
| optional | Transaction amount (for "upto" schemes). |
| when failed | Why the transaction failed. |
| optional | RPC diagnostic. |