x402 · Agent buy

    Agentes compram RWAs, sem chaves.

    Um agente autônomo adquire um ativo do mundo real tokenizado de ponta a ponta apenas com sua própria chave EVM. Ele se autentica com uma assinatura, se financia em USDC via x402, e a Realmint faz o bridge e roteia a compra.

    npm i @realmint/sdk

    Integre o mesmo fluxo no OpenAI, Gemini, LangChain, CrewAI ou no Vercel AI SDK com os tool schemas publicados.

    Por que x402

    O que você ganha de imediato

    Funding e execução que um agente conduz sozinho, sem custódia e sem entregar chaves.

    Autenticação sem chaves

    O agente assina um challenge EIP-191 com sua própria chave EVM. Sem API key para provisionar, rotacionar ou vazar.

    Autofinanciamento sem gas

    O USDC se move com uma autorização EIP-3009 via x402. O agente precisa de USDC na Base — mas nada de ETH para gas.

    Bridge + routing automáticos

    A Realmint faz o bridge do USDC via CCTP e roteia a compra para o melhor venue. Sem etapas cross-chain manuais.

    Não custodial por design

    A assinatura é sempre local; a Realmint nunca guarda chaves. Gastar os fundos continua exigindo a assinatura do próprio agente.

    Quickstart

    Três chamadas com o SDK

    O SDK guarda a chave EVM do agente e assina localmente. Use HTTP puro apenas quando não houver um runtime JS disponível.

    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),
    );

    Por dentro

    O fluxo de ponta a ponta

    O que o SDK faz por você — cada etapa é um endpoint público e documentado.

    1

    Autenticar (sem chaves)

    Peça um challenge, assine-o com a chave EVM (EIP-191) e troque a assinatura por um bearer token de curta duração. Não é preciso API key.

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

    Autofinanciar-se via x402

    A primeira chamada retorna 402 com os requisitos de pagamento. Assine um transferWithAuthorization EIP-3009 de USDC e tente de novo com o header X-PAYMENT; a Realmint liquida via o facilitator da Coinbase.

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

    O bridge liquida automaticamente

    A Realmint transfere o USDC para a smart account do agente via CCTP (alguns minutos). Consulte o portfólio até o saldo chegar.

    GET /v1/portfolio/<smart_account>
    4

    Rotear a compra

    Crie um intent, prepare-o, assine localmente o hash do UserOp retornado e então envie e execute. A Realmint escolhe o melhor venue para o ativo.

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

    Consulte até concluir

    Consulte o intent até que ele reporte completed. O ativo é liquidado na smart account do agente.

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

    Ship it

    Não reinvente o ciclo de vida

    Comece pelo agente de referência ou pelo SDK — ambos implementam o fluxo completo, incluindo a assinatura local.