View a markdown version of this page

Financie a carteira e conceda permissões ao agente - Amazon Bedrock AgentCore

Financie a carteira e conceda permissões ao agente

Depois de criar um instrumento de pagamento, o usuário final deve financiar a carteira com USDC e conceder permissão ao agente para assinar transações. Até que ambas as etapas sejam concluídas, a operação de pagamento do processo falhará com uma exceção do lado do cliente.

dica

Você pode automatizar as etapas nesta página com a habilidade AgentCore Pagamentos no kit de ferramentas do AWS agente. A habilidade faz parte do plug-in aws-agents. Com ele, um agente de codificação de IA pode criar seu gerenciador de pagamentos, conector, provedor de credenciais, instrumento de pagamento e sessão usando a agentcore CLI e adicionar uma ferramenta de pagamento x402 ao seu agente. Para obter detalhes, consulte o guia de início rápido e o kit de ferramentas do AWS agente em. GitHub

Coinbase CDP

Quando você cria um instrumento de pagamento com o conector CDP da Coinbase, a CreatePaymentInstrument API retorna um redirectUrl apontamento para o Coinbase WalletHub, um portal para conceder permissões ao agente e financiar a carteira. Direcione o usuário final para esse URL para financiar sua carteira e conceder permissões ao agente em uma única interface.

Use o WalletHub URL

O redirectUrl formulário da CreatePaymentInstrument resposta abre a Coinbase WalletHub, onde o usuário final pode financiar a carteira e conceder permissões de assinatura ao agente.

instrument = dp_client.create_payment_instrument( userId="test-user-123", paymentManagerArn=PAYMENT_MANAGER_ARN, paymentConnectorId=PAYMENT_CONNECTOR_ID, paymentInstrumentType="EMBEDDED_CRYPTO_WALLET", paymentInstrumentDetails={ "embeddedCryptoWallet": { "network": "ETHEREUM", "linkedAccounts": [{"email": {"emailAddress": "user@example.com"}}] } }, clientToken=str(uuid.uuid4()), ) # Direct the end user to this URL wallet_hub_url = instrument["paymentInstrumentDetails"]["redirectUrl"] print(f"Open the WalletHub: {wallet_hub_url}")
Coinbase WalletHub para financiamento e concessão de permissões

Como alternativa, você pode implantar o AgentCore modelo Coinbase GitHub como um Next.js front-end auto-hospedado que fornece a mesma funcionalidade de financiamento e permissões com uma interface de usuário personalizável. Consulte (Alternativa) Implemente o front-end auto-hospedado para obter instruções de configuração.

Financie a carteira

A partir do WalletHub (ou do frontend auto-hospedado), o usuário final pode financiar sua carteira usando qualquer um dos seguintes métodos:

Método Description Disponibilidade

Rampa de entrada da Coinbase () card/bank

Compre USDC diretamente usando um cartão de crédito, cartão de débito, Apple Pay, Google Pay ou ACH por meio do fluxo de compra hospedado pela Coinbase.

Somente Mainnet

Receber (código QR)

Exiba um código QR e o endereço da carteira. O usuário escaneia o QR ou copia o endereço para enviar fundos de uma carteira ou bolsa externa.

Mainnet e testnet

Transferir de uma carteira externa

Conecte uma carteira de extensão de navegador (MetaMask, Phantom, Coinbase Wallet) e transfira USDC diretamente para a carteira incorporada.

Mainnet e testnet

Para ambientes de testnet, financie a carteira com testnet USDC da torneira Circle USDC.

Conceda permissões ao agente

As permissões do agente no Coinbase CDP usam a delegação no escopo da carteira — cada carteira recebe sua própria concessão independente e com prazo determinado do usuário final, que autoriza o agente a assinar transações.

  1. O usuário final navega até a seção Permissões do painel de front-end da Coinbase.

  2. O usuário final seleciona uma ou mais carteiras (EVM and/or Solana) para autorizar.

  3. O usuário final escolhe Conceder permissão e seleciona uma duração de expiração: 7 dias, 30 dias (padrão), 60 dias ou 90 dias.

Depois de concedida, o agente pode assinar transações em nome das carteiras do usuário final até que a concessão expire. O usuário final pode revogar as permissões a qualquer momento no mesmo painel. Depois que o subsídio for fornecido, vá para Criar uma sessão de pagamento.

Revogar permissões

O usuário final pode revogar o acesso do agente a qualquer carteira a qualquer momento na seção de permissões WalletHub ou no painel de front-end. Após a revogação, o agente não poderá mais assinar transações para essa carteira até que o usuário conceda novas permissões.

(Alternativa) Implemente o front-end auto-hospedado

Se você precisar de uma interface de usuário personalizável em vez da hospedada WalletHub, implante o AgentCore modelo Coinbase como um aplicativo Next.js auto-hospedado.

  1. Clone o repositório:

    git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template
  2. Crie um .env.local arquivo com suas credenciais do CDP:

    NEXT_PUBLIC_CDP_PROJECT_ID=<YOUR_CDP_PROJECT_ID> CDP_API_KEY_ID=<YOUR_CDP_API_KEY_ID> CDP_API_KEY_SECRET=<YOUR_CDP_API_KEY_SECRET> CDP_WALLET_SECRET=<YOUR_CDP_WALLET_SECRET> NEXT_PUBLIC_NETWORK_MODE=testnet
  3. Instale as dependências e inicie o aplicativo:

    npm install npm run dev
  4. No Portal do Desenvolvedor da Coinbase, adicione o URL do seu aplicativo à lista Origens permitidas em Carteiras > Non-custodial Carteira > Segurança.

O frontend auto-hospedado fornece os mesmos fluxos de financiamento e concessão de permissões descritos acima, com controle total sobre o estilo e a experiência do usuário.

Stripe (Privado)

O Privy AgentCore SDK on GitHub é um front-end de Next.js referência que permite que os usuários finais se autentiquem, financiem carteiras e concedam permissões aos agentes por meio de um fluxo de configuração guiado.

Implemente o front-end

  1. Liste o endpoint localhost no painel Privy em Configurações do aplicativo > Básico > Domínios

Painel privado mostrando o campo Domínios em Configurações do aplicativo, onde localhost é adicionado à lista de origens permitidas
  1. Clone o repositório:

    git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk
  2. Crie um .env.local arquivo com suas credenciais Privy:

    NEXT_PUBLIC_PRIVY_APP_ID=<YOUR_PRIVY_APP_ID> PRIVY_APP_SECRET=<YOUR_PRIVY_APP_SECRET> NEXT_PUBLIC_PRIVY_SIGNER_ID=<YOUR_PRIVY_AUTHORIZATION_ID> NEXT_PUBLIC_NETWORK_MODE=testnet

    O NEXT_PUBLIC_PRIVY_SIGNER_ID valor é o ID de autorização (ID da chave) do seu painel privado em Infraestrutura de carteira > Autorização. Esse é um identificador público e pode ser exposto com segurança no lado do cliente.

  3. Instale as dependências e inicie o aplicativo:

    pnpm install pnpm dev

Financie a carteira

Quando o usuário final se autentica por meio do frontend Privy, carteiras incorporadas são criadas automaticamente para as redes Base (EVM) e Solana. O usuário final pode financiar sua carteira usando qualquer um dos seguintes métodos:

Método Description Disponibilidade

Pague com cartão (Stripe)

Compre USDC usando um cartão de crédito ou débito por meio da rampa de acesso criptográfica hospedada pela Stripe em. crypto.link.com

Somente Mainnet

Receber (código QR)

Exiba um código QR e endereço de carteira usando o formato EIP-681 (EVM) ou Solana Pay URI. O usuário escaneia o QR ou copia o endereço para enviar fundos de uma carteira ou bolsa externa.

Mainnet e testnet

Transferir de uma carteira externa

Conecte uma carteira com extensão de navegador (MetaMask para Base, Phantom para Solana) e transfira USDC diretamente para a carteira incorporada.

Mainnet e testnet

Para ambientes de testnet, financie a carteira com testnet USDC da torneira Circle USDC.

Conceda permissões ao agente

As permissões do agente no Privy usam signatários de sessão (também chamadas de chaves de autorização) — o usuário final registra a chave de autorização do agente em cada carteira incorporada, concedendo ao agente permissão para assinar transações sem aprovação por transação.

  1. No frontend Privy, o usuário final faz login e carteiras incorporadas automáticas são criadas (uma EVM, uma Solana).

  2. A tela inicial exibe uma placa de configuração do agente Connect.

  3. O usuário final escolhe o agente Connect e um modal exibe: “Dê ao seu agente acesso às suas carteiras”.

  4. O usuário final escolhe Conceder acesso.

O front-end usa addSessionSigners o Privy SDK para registrar a chave de autorização do agente em cada carteira incorporada. A operação é idempotente — se o assinante já estiver registrado, nenhum erro será retornado.

Uma vez conectado, o agente pode assinar transações em nome das carteiras do usuário. As permissões persistem até serem revogadas explicitamente.

(Opcional) Verifique a conexão do agente

O front-end verifica se as permissões estão ativas chamando a API Privy:

GET https://auth.privy.io/api/v1/wallets/{walletId} Authorization: Basic <base64(appId:appSecret)>

A resposta inclui uma additional_signers matriz. Se a ID de autorização configurada aparecer nessa matriz, o agente está conectado.

Depois que o subsídio for fornecido, vá para Criar uma sessão de pagamento.

Testando com testnet USDC

Para desenvolvimento e teste, use redes testnet e carteiras de fundos com o teste USDC:

  1. Definido NEXT_PUBLIC_NETWORK_MODE=testnet no .env.local arquivo de front-end.

  2. Obtenha testnet USDC na torneira Circle USDC:

    • Selecione Base Sepolia para carteiras EVM

    • Selecione Solana Devnet para carteiras Solana

  3. Cole o endereço da carteira incorporada (mostrado no painel frontal ou na tela do código QR) na torneira.

  4. A torneira distribui o USDC de teste em sua carteira em segundos.

nota

O cartão Stripe onramp (Privy) e o Coinbase Onramp não estão disponíveis na testnet. Use a torneira Circle, a transferência externa de carteira ou a transferência direta de endereço para obter financiamento na testnet.