Proxy-seller

Recuperar acceso

Actualizado:

¿Has perdido el token de acceso de un pedido? Demuestra que eres el titular de la cartera con la que se realiza el pago firmando un mensaje de un solo uso y obtén todos los pedidos de la cartera con nuevos tokens de acceso, los pagos aún en curso y el saldo.

Los tokens antiguos siguen funcionando a menos que los revoques.

El proceso

  1. Acepta un reto

    POST /wallet/challenge

    Devuelve un mensaje de texto (EIP-4361) para tu monedero.

  2. Firma el mensaje

    personal_sign (EIP-191) de message exactamente tal y como se ha recibido. La firma no implica ninguna transferencia de fondos.

  3. Recuperar

    POST /wallet/recover

    Devuelve los pedidos de la cartera con nuevos tokens de acceso.

Acepta un reto

POSThttps://proxy-seller.com/api/x402/v1/wallet/challenge

Cuerpo de la solicitud

Nombre

Tipo

Descripción

dirección

Cadena

Obligatorio. Dirección de monedero, 0x + 40 hex. Una dirección con mayúsculas y minúsculas debe tener una suma de comprobación EIP-55 válida

Objetivo

Cadena

recover (por defecto) o withdraw (Retirar saldo)

Se envía un desafío a cualquier dirección: la respuesta no indica si la dirección tiene órdenes.

Ejemplo

POST https://proxy-seller.com/api/x402/v1/wallet/challenge
{
    "address": "0x1111111111111111111111111111111111111111",
    "purpose": "recover"
}

Respuesta

200: Correcto

{
    "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"
    }
}

Un desafío tiene una duración de 5 minutos y se puede utilizar una sola vez. Las carteras de contratos inteligentes son compatibles a través de EIP-1271 cuando contract_wallets es eip1271.

Recuperar

POSThttps://proxy-seller.com/api/x402/v1/wallet/recover

Cuerpo de la solicitud

Nombre

Tipo

Descripción

challenge_id

Cadena

Obligatorio. ID de un desafío con purpose: recover

firma

Cadena

Obligatorio. Firma de message, 0x hex: 65 bytes para un monedero normal; más para un monedero de contratos inteligentes

límite

Número entero

Número de entradas por página: 1-200; 50 por defecto.

offset

Número entero

Número de página, a partir de 0

revoke_existing

Booleano

Revoca todos los tokens de este monedero emitidos antes de que se creara este reto.

Cada página necesita un nuevo reto. Enviar revoke_existing: true solo en la primera página: en una página posterior, se anularían las fichas que acabas de recibir en las páginas anteriores.

Ejemplo

POST https://proxy-seller.com/api/x402/v1/wallet/recover
{
    "challenge_id": "chl_01JZ9E5F7G9H1J3K5M7N9P1Q3R",
    "signature": "0x9a7c…1c",
    "limit": 50,
    "offset": 0
}

Respuesta

200: Correcto

{
    "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
    }
}

Nombre

Descripción

cuenta

exists, status (active o blocked), balance_usd, topup_url, withdraw_url

pedidos

Órdenes de la cartera, ordenadas por fecha (las más recientes primero), con nuevos tokens. No se emite ningún token cuando finaliza el periodo de acceso de la orden (90 días después de su vencimiento).

pending_payments

Pagos cuyo resultado aún se desconoce o que están en proceso de revisión: {nonce, network, status, operation_id, kind, order_id, payment_state, amount_atomic, status_changed_at}. No pagues por ellos otra vez

recargas

Hasta 20 recargas recientes con nuevas fichas

retiradas

Hasta 20 solicitudes de retirada más recientes del monedero, ordenadas de más reciente a más antigua: {id, status, amount_usd, address, network, created_at, tx_hash, sent_at, confirmed_at}. status: requested, approved, sent, done o rejected (Retirar saldo)

paginación

{limit, offset, total}

Aviso

Solo para carteras bloqueadas: los pedidos se muestran sin tokens

401: Acceso no autorizado — La firma no procede de la dirección del desafío.

404: No encontrado

{
    "error": "not_found",
    "message": "Challenge not found",
    "retryable": false,
    "retry_action": "abandon",
    "detail": "challenge is unknown, expired or already used"
}

El desafío es desconocido, ha caducado, ya se ha utilizado o se ha emitido para withdraw. Consigue uno nuevo.

On this page