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
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}")
Como alternativa, puedes implementar la AgentCore plantilla de Coinbase GitHub
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 |
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.
-
El usuario final accede a la sección de permisos del panel de control de la interfaz de Coinbase.
-
El usuario final selecciona una o más carteras (EVM and/or Solana) para autorizarlas.
-
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
-
Clona el repositorio:
git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template -
Cree un
.env.localarchivo 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 -
Instale las dependencias e inicie la aplicación:
npm install npm run dev -
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
Implemente la interfaz
-
Permite incluir el punto final localhost en el panel de control privado, en Configuración de la aplicación > Conceptos básicos > Dominios
-
Clona el repositorio:
git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk -
Cree un
.env.localarchivo 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=testnetEl
NEXT_PUBLIC_PRIVY_SIGNER_IDvalor 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. -
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. |
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 |
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.
-
En la interfaz de Privy, el usuario final inicia sesión y se crean carteras integradas automáticas (una EVM y una Solana).
-
La pantalla de inicio muestra una tarjeta de configuración del agente Connect.
-
El usuario final elige el agente Connect y aparece un modal que dice: «Dale a tu agente acceso a tus carteras».
-
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:
-
Establecido
NEXT_PUBLIC_NETWORK_MODE=testneten el archivo de interfaz..env.local -
Obtenga el USDC de testnet en el grifo Circle
USDC: -
Seleccione Base Sepolia para las carteras EVM
-
Seleccione Solana Devnet para las carteras Solana
-
-
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.
-
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.