Documentation Index
Fetch the complete documentation index at: https://docs.x402x.ai/llms.txt
Use this file to discover all available pages before exploring further.
通用结构
interface PaymentPayload {
x402Version: 1;
scheme: "exact";
network: string;
payload: {
authorizationType: "eip3009" | "permit" | "permit2";
signature: `0x${string}`;
authorization: Record<string, unknown>; // 随类型变化
};
}
授权类型结构
EIP-3009 (transferWithAuthorization)
interface Eip3009PaymentPayload {
x402Version: 1;
scheme: "exact";
network: string;
payload: {
authorizationType: "eip3009";
signature: `0x${string}`; // EIP-712
authorization: {
from: `0x${string}`;
to: `0x${string}`;
value: string; // wei
validAfter: string; // unix seconds
validBefore: string; // unix seconds
nonce: `0x${string}`; // 32 bytes
};
};
}
EIP-2612 Permit
interface PermitPaymentPayload {
x402Version: 1;
scheme: "exact";
network: string;
payload: {
authorizationType: "permit";
signature: `0x${string}`; // EIP-712
authorization: {
owner: `0x${string}`;
spender: `0x${string}`;
value: string; // wei
deadline: string; // unix seconds
nonce: string; // on-chain nonce
};
};
}
Permit2(含 Witness 可选)
interface Permit2PaymentPayload {
x402Version: 1;
scheme: "exact";
network: string;
payload: {
authorizationType: "permit2";
signature: `0x${string}`; // EIP-712
authorization: {
owner: `0x${string}`;
spender: `0x${string}`;
token: `0x${string}`;
amount: string; // wei
deadline: string; // unix seconds
nonce: string; // uint256
to?: `0x${string}`; // Witness(接收者绑定)
};
};
}
EIP-712 关键字段
- domain: name/version/chainId/verifyingContract
- types: 随授权类型而变(TransferWithAuthorization/Permit/Permit2)
- message: 授权主体(amount/nonce/deadline等)
示例(EIP-3009)
{
"x402Version": 1,
"scheme": "exact",
"network": "bsc",
"payload": {
"authorizationType": "eip3009",
"signature": "0x...",
"authorization": {
"from": "0xBuyer",
"to": "0xSeller",
"value": "1000000",
"validAfter": "0",
"validBefore": "1735689600",
"nonce": "0x7c7c..."
}
}
}
示例(Permit2 with Witness)
{
"x402Version": 1,
"scheme": "exact",
"network": "bsc",
"payload": {
"authorizationType": "permit2",
"signature": "0x...",
"authorization": {
"owner": "0xBuyer",
"spender": "0xSpender",
"token": "0xUSDC",
"amount": "1000000",
"deadline": "1735689600",
"nonce": "123456789",
"to": "0xSeller"
}
}
}
校验清单(服务端)
- 版本/方案/网络 与 requirements 一致
- 授权签名有效,签名者与 owner/from 匹配
- Token/接收者匹配:
token === asset,to/spender === payTo
- 金额与时效:满足
maxAmountRequired 且未过期
- Nonce/余额:未使用且余额充足(按类型检查)
关键校验
- 版本/方案/网络 与 requirements 一致
- 金额 ≥
maxAmountRequired
- 截止时间未过期
spender === payTo(EIP-7702 保障最小信任)
示例(Permit)
{
"x402Version": 1,
"scheme": "exact",
"network": "bsc",
"payload": {
"authorizationType": "permit",
"signature": "0x...",
"authorization": {
"owner": "0xBuyer",
"spender": "0xSeller",
"value": "1000000",
"deadline": "1735689600",
"nonce": "0"
}
}
}