アクセス権の回復
Updated:
注文のアクセストークンを紛失しましたか? ワンタイムメッセージに署名して、支払い用ウォレットの所有者であることを証明すれば、新しいアクセストークン、進行中の支払い、および残高を含む、そのウォレットのすべての注文情報を取得できます。
古いトークンは、取り消さない限り引き続き有効です。
流れ
挑戦する
POST /wallet/challengeウォレット向けのテキストメッセージ(EIP-4361)を返します。
メッセージに署名してください
personal_sign(EIP-191) のmessage受け取ったままの状態で。署名を行っても資金は移動しません。復元
POST /wallet/recover新しいアクセストークンを含むウォレットの注文を返します。
挑戦する
リクエスト本文
名前 | 種類 | 説明 |
|---|---|---|
アドレス | 文字列 | 必須。ウォレットアドレス、 |
目的 | 文字列 |
|
任意のアドレスに対して挑戦が送られますが、その応答からは、そのアドレスに命令があるかどうかはわかりません。
例
POST https://proxy-seller.com/api/x402/v1/wallet/challenge
{
"address": "0x1111111111111111111111111111111111111111",
"purpose": "recover"
}回答
200: OK
{
"challenge_id": "chl_01JZ9E5F7G9H1J3K5M7N9P1Q3R",
"address": "0x1111111111111111111111111111111111111111",
"purpose": "recover",
"message": "proxy-seller.com wants you to sign in with your Ethereum account:\n0x1111111111111111111111111111111111111111\n\nRecover access to orders paid from this wallet at Proxy-Seller. Signing does not move funds.\n\nURI: https://proxy-seller.com/api/x402/v1/wallet/recover\nVersion: 1\nChain ID: 8453\nNonce: sDYRsY6sbhBxxPSC\nIssued At: 2026-11-02T12:00:00Z\nExpiration Time: 2026-11-02T12:05:00Z\nRequest ID: chl_01JZ9E5F7G9H1J3K5M7N9P1Q3R",
"expires_at": "2026-11-02T12:05:00Z",
"signature": {
"type": "eip191_personal_sign",
"contract_wallets": "eip1271"
}
}チャレンジの有効期間は5分で、1回のみ使用可能です。EIP-1271を通じてスマートコントラクトウォレットがサポートされています。contract_wallets はeip1271.
復元
リクエスト本文
名前 | 種類 | 説明 |
|---|---|---|
challenge_id | 文字列 | 必須。チャレンジのIDは |
署名 | 文字列 | 必須。署名: |
制限 | 整数 | 1ページあたりの件数:1~200件(デフォルトは50件) |
オフセット | 整数 | ページオフセット(0から) |
revoke_existing | ブール値 | このチャレンジが作成される前に発行された、このウォレットのトークンをすべて無効にしてください |
各ページには新たな課題が必要です。送信revoke_existing: true 最初のページのみに適用されます。それ以降のページでは、それまでのページで獲得したトークンが無効になります。
例
POST https://proxy-seller.com/api/x402/v1/wallet/recover
{
"challenge_id": "chl_01JZ9E5F7G9H1J3K5M7N9P1Q3R",
"signature": "0x9a7c…1c",
"limit": 50,
"offset": 0
}回答
200: OK
{
"wallet": "0x1111111111111111111111111111111111111111",
"network": "eip155:8453",
"account": {
"type": "wallet",
"exists": true,
"status": "active",
"balance_usd": "6.40",
"email_attached": false,
"topup_url": "https://proxy-seller.com/api/x402/v1/topup",
"withdraw_url": "https://proxy-seller.com/api/x402/v1/wallet/withdraw"
},
"orders": [
{
"order_id": "ord_01JZ8Q7K5N2R4T6V8X0Z2B4D6F",
"status": "active",
"payment_state": "settled",
"summary": "2x IPv4 US, 30 days",
"amount_usd": "3.60",
"created_at": "2026-11-02T10:01:12Z",
"expires_at": "2026-12-02T23:59:59Z",
"url": "https://proxy-seller.com/api/x402/v1/orders/ord_01JZ8Q7K5N2R4T6V8X0Z2B4D6F",
"access_token": "x402_Nf5gT2hY8jU4kI1oL7pA3sD9fG6hJ0kL2zX5cV8bN4m",
"token_type": "Bearer"
}
],
"pending_payments": [],
"topups": [
{
"id": "tup_01JZ9D4E6F8G0H2J4K6M8N0P2Q",
"status": "credited",
"payment_state": "settled",
"amount_usd": "10.00",
"created_at": "2026-11-02T11:20:31Z",
"url": "https://proxy-seller.com/api/x402/v1/topup/tup_01JZ9D4E6F8G0H2J4K6M8N0P2Q",
"access_token": "x402_Rt6yU1iO7pA2sD8fG3hJ9kL4zX0cV5bN6mQ1wE7rT2y",
"token_type": "Bearer"
}
],
"withdrawals": [
{
"id": "wdr_01JZ9E8H0J2K4M6N8P0Q2R4S6T",
"status": "done",
"amount_usd": "6.40",
"address": "0x1111111111111111111111111111111111111111",
"network": "eip155:8453",
"created_at": "2026-12-03T09:14:22Z",
"tx_hash": "0x5c3e8a1f0b7d4e2c9a6f1b8d3e0c7a4f2b9e6d1c8a5f3e0b7d4c1a9f6e3b8d2c",
"sent_at": "2026-12-03T15:40:05Z",
"confirmed_at": "2026-12-03T15:43:10Z"
}
],
"pagination": {
"limit": 50,
"offset": 0,
"total": 1
}
}名前 | 説明 |
|---|---|
アカウント |
|
注文 | ウォレットの注文は、新しいトークンを含むものから順に、最新のものが先に表示されます。注文のアクセス期間が終了した場合(有効期限から90日後)、トークンは発行されません。 |
pending_payments | 結果がまだ判明していない、または審査中の支払い: |
topups | 新しいトークンを含む、直近のチャージ履歴最大20件 |
引き出し | ウォレットの最新の引き出しリクエストを最大20件、新しいものから順に表示: |
ページネーション |
|
注意 | ブロックされたウォレットのみ対象:注文にはトークンが表示されません |
401: アクセス拒否 — この署名は、課題のアドレスからのものではありません。
404: 見つかりません
{
"error": "not_found",
"message": "Challenge not found",
"retryable": false,
"retry_action": "abandon",
"detail": "challenge is unknown, expired or already used"
}課題は不明、期限切れ、すでに使用済み、または発行済みです。withdraw。新しいものを用意してください。