x402 · Agent buy

    Los agentes compran RWAs, sin claves.

    Un agente autónomo adquiere un activo del mundo real tokenizado de punta a punta con solo su propia clave EVM. Se autentica con una firma, se fondea en USDC vía x402, y Realmint hace el bridge y rutea la compra.

    npm i @realmint/sdk

    Integra el mismo flujo en OpenAI, Gemini, LangChain, CrewAI o el Vercel AI SDK con los tool schemas publicados.

    Por qué x402

    Lo que obtienes de entrada

    Fondeo y ejecución que un agente puede manejar solo, sin custodia y sin entregar claves.

    Autenticación sin claves

    El agente firma un challenge EIP-191 con su propia clave EVM. Sin API key que aprovisionar, rotar o filtrar.

    Autofinanciamiento sin gas

    El USDC se mueve con una autorización EIP-3009 vía x402. El agente necesita USDC en Base — pero nada de ETH para gas.

    Bridge + routing automáticos

    Realmint hace el bridge del USDC vía CCTP y rutea la compra al mejor venue. Sin pasos cross-chain manuales.

    No custodial por diseño

    La firma siempre es local; Realmint nunca guarda claves. Gastar los fondos sigue requiriendo la firma del propio agente.

    Quickstart

    Tres llamadas con el SDK

    El SDK guarda la clave EVM del agente y firma localmente. Usa HTTP crudo solo cuando no haya un runtime JS disponible.

    typescript
    import { agentLogin, fundWithX402, signerFromViemAccount } from "@realmint/sdk";
    import { privateKeyToAccount } from "viem/accounts";
    
    // 1. Keyless auth — sign a challenge with the agent's EVM key (stays local)
    const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY!);
    const { client } = await agentLogin({
      ownerEoa: account.address,
      signMessage: (m) => account.signMessage({ message: m }),
    });
    
    // 2. Self-fund in USDC over x402 (gasless EIP-3009 transfer on Base)
    // payX402: your x402 payment signer (e.g. the Coinbase x402 SDK on Base)
    const payX402: X402PaymentSigner = /* ... */;
    await fundWithX402(client, { owner_eoa: account.address, amount_usdc: 5, asset_id: "tslax" }, payX402);
    
    // 3. Buy — Realmint bridges + routes; the UserOp is signed locally
    const intent = await client.buy(
      { asset_id: "tslax", source_token: "USDC", amount_in: 5, agent_wallet: account.address },
      signerFromViemAccount(account),
    );

    Bajo el capó

    El flujo de punta a punta

    Lo que el SDK hace por ti — cada tramo es un endpoint público y documentado.

    1

    Autenticar (sin claves)

    Pide un challenge, fírmalo con la clave EVM (EIP-191) e intercambia la firma por un bearer token de corta duración. No hace falta API key.

    POST /v1/agent/auth/challenge → /v1/agent/auth/token
    2

    Autofinanciarse con x402

    La primera llamada devuelve 402 con los requisitos de pago. Firma un transferWithAuthorization EIP-3009 de USDC y reintenta con el header X-PAYMENT; Realmint lo liquida vía el facilitator de Coinbase.

    POST /v1/route/x402-buy → 402 Payment Required
    3

    El bridge se liquida automáticamente

    Realmint transfiere el USDC a la smart account del agente vía CCTP (unos minutos). Consulta el portfolio hasta que el balance llegue.

    GET /v1/portfolio/<smart_account>
    4

    Rutear la compra

    Crea un intent, prepáralo, firma localmente el hash del UserOp devuelto y luego envíalo y ejecútalo. Realmint elige el mejor venue para el activo.

    POST /v1/route/intent → /prepare → /execute
    5

    Consulta hasta completar

    Consulta el intent hasta que reporte completed. El activo se liquida en la smart account del agente.

    GET /v1/route/intent/<id> → status: completed

    Ship it

    No reinventes el ciclo de vida

    Empieza por el agente de referencia o el SDK — ambos implementan el flujo completo, incluida la firma local.