View a markdown version of this page

Financie la billetera y otorgue permisos a los agentes - Amazon Bedrock AgentCore

Financie la billetera y otorgue permisos a los agentes

Tras crear un instrumento de pago, el usuario final debe depositar fondos en la cartera con el USDC y conceder al agente permiso para firmar las transacciones. Hasta que no se completen ambos pasos, la operación de pago del proceso fallará con una excepción del lado del cliente.

sugerencia

Puedes automatizar los pasos de esta página con la habilidad AgentCore Pagos del kit de herramientas para AWS agentes. La habilidad forma parte del complemento aws-agents. Con él, un agente de codificación de IA puede crear su administrador de pagos, conector, proveedor de credenciales, instrumento de pago y sesión mediante la agentcore CLI, y añadir una herramienta de pago x402 a su agente. Para obtener más información, consulta la guía de inicio rápido y el kit de herramientas para AWS agentes en. GitHub

Coinbase CDP

Al crear un instrumento de pago con el conector CDP de Coinbase, la CreatePaymentInstrument API devuelve un mensaje que redirectUrl apunta a Coinbase WalletHub, un portal para conceder permisos a los agentes y depositar fondos en la cartera. Dirige al usuario final a esta URL para depositar fondos en su cartera y conceder permisos de agente desde una única interfaz.

Utilice la WalletHub URL

redirectUrlA partir de la CreatePaymentInstrument respuesta, se abre la Coinbase WalletHub, donde el usuario final puede depositar fondos en la cartera y conceder permisos de firma al 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 financiar y conceder permisos

Como alternativa, puedes implementar la AgentCore plantilla de Coinbase GitHub como una Next.js interfaz autohospedada que proporcione la misma funcionalidad de financiación y permisos con una interfaz de usuario personalizable. Consulte (Alternativa) Implemente la interfaz autohospedada para obtener instrucciones de configuración.

Financia la cartera

Desde la interfaz WalletHub (o desde la interfaz autohospedada), el usuario final puede depositar fondos en su cartera mediante cualquiera de los siguientes métodos:

Método Description (Descripción) Disponibilidad.

Coinbase Onramp () card/bank

Compra USDC directamente con una tarjeta de crédito, tarjeta de débito, Apple Pay, Google Pay o ACH a través del flujo de compras alojado de Coinbase.

Solo Mainnet

Recibir (código QR)

Muestra un código QR y la dirección del monedero. El usuario escanea el código QR o copia la dirección para enviar fondos desde una cartera o bolsa externa.

Mainnet y testnet

Transferencia desde un monedero externo

Conecta una cartera de extensión de navegador (MetaMaskPhantom, Coinbase Wallet) y transfiere USDC directamente a la cartera integrada.

Mainnet y testnet

Para los entornos de redes de prueba, financie el monedero con el USDC de testnet del grifo Circle USDC.

Otorgue permisos a los agentes

Los permisos de agente en Coinbase CDP utilizan la delegación por monedero: cada monedero recibe su propia autorización independiente y con un plazo determinado del usuario final, que autoriza al agente a firmar transacciones.

  1. El usuario final accede a la sección de permisos del panel de control de la interfaz de Coinbase.

  2. El usuario final selecciona una o más carteras (EVM and/or Solana) para autorizarlas.

  3. El usuario final elige Otorgar el permiso y selecciona una duración de caducidad: 7 días, 30 días (predeterminado), 60 días o 90 días.

Una vez concedido, el agente puede firmar las transacciones en nombre de los monederos del usuario final hasta que venza la concesión. El usuario final puede revocar los permisos en cualquier momento desde el mismo panel de control. Una vez que se haya otorgado la subvención, proceda a Crear una sesión de pago.

Revoca los permisos

El usuario final puede revocar el acceso del agente a cualquier monedero en cualquier momento desde la sección de permisos del panel de control WalletHub o desde la interfaz de usuario. Tras la revocación, el agente ya no podrá firmar las transacciones de esa cartera hasta que el usuario conceda nuevos permisos.

(Alternativa) Implemente la interfaz autohospedada

Si necesita una interfaz de usuario personalizable en lugar de una alojada WalletHub, implemente la AgentCore plantilla de Coinbase como una aplicación autohospedada. Next.js

  1. Clona el repositorio:

    git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template
  2. Cree un .env.local archivo con sus credenciales de 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 las dependencias e inicie la aplicación:

    npm install npm run dev
  4. En el portal para desarrolladores de Coinbase, añade la URL de tu aplicación a la lista de orígenes permitidos en Monederos > Non-custodial Monederos > Seguridad.

La interfaz autohospedada proporciona los mismos flujos de financiación y concesión de permisos descritos anteriormente, con un control total sobre el estilo y la experiencia del usuario.

Stripe (privado)

El Privy AgentCore SDK on GitHub es una interfaz de Next.js referencia que permite a los usuarios finales autenticarse, financiar carteras y conceder permisos a los agentes mediante un flujo de configuración guiado.

Implemente la interfaz

  1. Permite incluir el punto final localhost en el panel de control privado, en Configuración de la aplicación > Conceptos básicos > Dominios

Panel privado que muestra el campo Dominios en la configuración de la aplicación, donde se agrega localhost a la lista de orígenes permitidos
  1. Clona el repositorio:

    git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk
  2. Cree un .env.local archivo con sus credenciales de 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

    El NEXT_PUBLIC_PRIVY_SIGNER_ID valor es el ID de autorización (ID clave) de tu panel de control de Privy, en Wallet Infrastructure > Autorización. Se trata de un identificador público y es seguro exponerlo desde el punto de vista del cliente.

  3. Instale las dependencias e inicie la aplicación:

    pnpm install pnpm dev

Financie la cartera

Cuando el usuario final se autentica a través de la interfaz Privy, se crean automáticamente carteras integradas para las redes Base (EVM) y Solana. El usuario final puede depositar fondos en su cartera mediante cualquiera de los siguientes métodos:

Método Description (Descripción) Disponibilidad.

Pague con tarjeta (Stripe)

Compra USDC con una tarjeta de crédito o débito a través del servicio de criptomonedas alojado en Stripe, en. crypto.link.com

Solo Mainnet

Recibir (código QR)

Muestra un código QR y una dirección de cartera en formato EIP-681 (EVM) o URI de Solana Pay. El usuario escanea el código QR o copia la dirección para enviar fondos desde una cartera o bolsa externa.

Mainnet y testnet

Transferencia desde un monedero externo

Conecta una cartera de extensión de navegador (MetaMask para Base, Phantom para Solana) y transfiere USDC directamente a la cartera integrada.

Mainnet y testnet

Para los entornos de redes de prueba, financie el monedero con el USDC de testnet del grifo Circle USDC.

Otorgue permisos a los agentes

Los permisos de los agentes en Privy utilizan a los firmantes de sesión (también denominados claves de autorización): el usuario final registra la clave de autorización del agente en cada cartera integrada, lo que le otorga permiso para firmar transacciones sin la aprobación de cada transacción.

  1. En la interfaz de Privy, el usuario final inicia sesión y se crean carteras integradas automáticas (una EVM y una Solana).

  2. La pantalla de inicio muestra una tarjeta de configuración del agente Connect.

  3. El usuario final elige el agente Connect y aparece un modal que dice: «Dale a tu agente acceso a tus carteras».

  4. El usuario final elige Dar acceso.

La interfaz utiliza el SDK addSessionSigners de Privy para registrar la clave de autorización del agente en cada cartera integrada. La operación es idempotente: si el firmante ya está registrado, no se devuelve ningún error.

Una vez conectado, el agente puede firmar las transacciones en nombre de las carteras del usuario. Los permisos se conservan hasta que se revoquen de forma explícita.

(Opcional) Compruebe la conexión del agente

La interfaz verifica que los permisos estén activos mediante una llamada a la API Privy:

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

La respuesta incluye una matriz. additional_signers Si el identificador de autorización configurado aparece en esta matriz, el agente está conectado.

Una vez que se haya otorgado la subvención, proceda a Crear una sesión de pago.

Probando con testnet USDC

Para el desarrollo y las pruebas, utilice redes de redes de prueba y financie carteras con el USDC de prueba:

  1. Establecido NEXT_PUBLIC_NETWORK_MODE=testnet en el archivo de interfaz. .env.local

  2. Obtenga el USDC de testnet en el grifo Circle USDC:

    • Seleccione Base Sepolia para las carteras EVM

    • Seleccione Solana Devnet para las carteras Solana

  3. Pegue la dirección de la cartera integrada (que se muestra en el panel de control de la interfaz o en la pantalla de códigos QR) en el grifo.

  4. El grifo envía una prueba de USDC a tu cartera en cuestión de segundos.

nota

La tarjeta Onramp (Privy) de Stripe y la Coinbase Onramp no están disponibles en testnet. Utilice Circle Faucet, una transferencia de monedero externa o una transferencia de dirección directa para obtener fondos en la red de prueba.