Financez le portefeuille et accordez les autorisations aux agents
Après avoir créé un instrument de paiement, l'utilisateur final doit approvisionner le portefeuille avec l'USDC et autoriser l'agent à signer des transactions. Tant que les deux étapes ne sont pas terminées, l'opération de traitement du paiement échoue avec une exception côté client.
Astuce
Vous pouvez automatiser les étapes de cette page à l'aide de la compétence AgentCore Paiements de la boîte à outils de l' AWS agent. La compétence fait partie du plugin aws-agents. Grâce à lui, un agent de codage basé sur l'IA peut créer votre gestionnaire de paiement, votre connecteur, votre fournisseur d'informations d'identification, votre instrument de paiement et votre session à l'aide de la agentcore CLI, et ajouter un outil de paiement x402 à votre agent. Pour plus de détails, consultez le guide de démarrage rapide et le kit d'outils de l'AWS agent sur GitHub
Coinbase CDP
Lorsque vous créez un instrument de paiement avec le connecteur Coinbase CDP, l'CreatePaymentInstrumentAPI renvoie un redirectUrl pointeur vers Coinbase WalletHub, un portail permettant d'accorder des autorisations aux agents et de financer le portefeuille. Dirigez l'utilisateur final vers cette URL pour approvisionner son portefeuille et accorder des autorisations aux agents à partir d'une interface unique.
Utilisez l' WalletHub URL
La CreatePaymentInstrument réponse redirectUrl from ouvre la Coinbase WalletHub, où l'utilisateur final peut approvisionner le portefeuille et accorder des autorisations de signature à l'agent.
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}")
Vous pouvez également déployer le AgentCore modèle Coinbase
Approvisionnez le portefeuille
Depuis le frontend WalletHub (ou depuis le frontend auto-hébergé), l'utilisateur final peut approvisionner son portefeuille en utilisant l'une des méthodes suivantes :
| Méthode | Description | Disponibilité |
|---|---|---|
|
Rampe Coinbase () card/bank |
Achetez des USDC directement par carte de crédit, carte de débit, Apple Pay, Google Pay ou ACH via le flux d'achat hébergé par Coinbase. |
Réseau principal uniquement |
|
Recevoir (code QR) |
Affichez un code QR et une adresse de portefeuille. L'utilisateur scanne le QR ou copie l'adresse pour envoyer des fonds depuis un portefeuille externe ou une plateforme de change. |
Réseau principal et réseau de test |
|
Transfert depuis un portefeuille externe |
Connectez un portefeuille d'extension de navigateur (PhantomMetaMask, Coinbase Wallet) et transférez l'USDC directement vers le portefeuille intégré. |
Réseau principal et réseau de test |
Pour les environnements testnet, approvisionnez le portefeuille avec le testnet USDC provenant du robinet Circle
Accorder des autorisations aux agents
Les autorisations d'agent dans Coinbase CDP utilisent une délégation à l'échelle du portefeuille : chaque portefeuille reçoit sa propre autorisation indépendante et limitée dans le temps de la part de l'utilisateur final qui autorise l'agent à signer des transactions.
-
L'utilisateur final accède à la section Permissions du tableau de bord frontal Coinbase.
-
L'utilisateur final sélectionne un ou plusieurs portefeuilles (EVM and/or Solana) à autoriser.
-
L'utilisateur final choisit Accorder l'autorisation et sélectionne une durée d'expiration : 7 jours, 30 jours (par défaut), 60 jours ou 90 jours.
Une fois l'autorisation accordée, l'agent peut signer les transactions pour le compte des portefeuilles de l'utilisateur final jusqu'à son expiration. L'utilisateur final peut révoquer les autorisations à tout moment depuis le même tableau de bord. Une fois la subvention accordée, passez à Créer une session de paiement.
Révoquer les autorisations
L'utilisateur final peut révoquer l'accès de l'agent à n'importe quel portefeuille à tout moment depuis la section des autorisations du tableau de bord WalletHub ou du frontend. Après la révocation, l'agent ne peut plus signer les transactions pour ce portefeuille tant que l'utilisateur n'a pas accordé de nouvelles autorisations.
(Alternative) Déployez le frontend auto-hébergé
Si vous avez besoin d'une interface utilisateur personnalisable au lieu d'une interface hébergée WalletHub, déployez le AgentCore modèle Coinbase
-
Clonez le dépôt :
git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template -
Créez un
.env.localfichier avec vos informations d'identification 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 -
Installez les dépendances et démarrez l'application :
npm install npm run dev -
Dans le portail des développeurs Coinbase
, ajoutez l'URL de votre application à la liste des origines autorisées sous Portefeuilles > Non-custodial Portefeuille > Sécurité.
Le frontend auto-hébergé fournit les mêmes flux de financement et d'octroi d'autorisations décrits ci-dessus, avec un contrôle total sur le style et l'expérience utilisateur.
Stripe (Privy)
Le AgentCore SDK Privy GitHub
Déployer le frontend
-
Autoriser le point de terminaison localhost dans le tableau de bord privé sous Paramètres de l'application > Principes de base > Domaines
-
Clonez le dépôt :
git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk -
Créez un
.env.localfichier avec vos identifiants 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=testnetLa
NEXT_PUBLIC_PRIVY_SIGNER_IDvaleur est l'ID d'autorisation (ID clé) de votre tableau de bord privé sous Wallet Infrastructure > Autorisation. Il s'agit d'un identifiant public qui peut être exposé en toute sécurité côté client. -
Installez les dépendances et démarrez l'application :
pnpm install pnpm dev
Approvisionnez le portefeuille
Lorsque l'utilisateur final s'authentifie via le frontend Privy, des portefeuilles intégrés sont automatiquement créés pour les réseaux Base (EVM) et Solana. L'utilisateur final peut approvisionner son portefeuille en utilisant l'une des méthodes suivantes :
| Méthode | Description | Disponibilité |
|---|---|---|
|
Payer par carte (Stripe) |
Achetez des USDC à l'aide d'une carte de crédit ou de débit via la rampe d'accès cryptée hébergée par Stripe à l'adresse. |
Réseau principal uniquement |
|
Recevoir (code QR) |
Affichez un code QR et une adresse de portefeuille au format URI EIP-681 (EVM) ou Solana Pay. L'utilisateur scanne le QR ou copie l'adresse pour envoyer des fonds depuis un portefeuille externe ou une plateforme de change. |
Réseau principal et réseau de test |
|
Transfert depuis un portefeuille externe |
Connectez un portefeuille d'extension de navigateur (MetaMask pour Base, Phantom pour Solana) et transférez l'USDC directement vers le portefeuille intégré. |
Réseau principal et réseau de test |
Pour les environnements testnet, approvisionnez le portefeuille avec le testnet USDC provenant du robinet Circle
Accorder des autorisations aux agents
Dans Privy, les autorisations d'agent utilisent des signataires de session (également appelés clés d'autorisation) : l'utilisateur final enregistre la clé d'autorisation de l'agent sur chaque portefeuille intégré, autorisant ainsi l'agent à signer des transactions sans approbation par transaction.
-
Dans le frontend Privy, l'utilisateur final se connecte et des portefeuilles intégrés automatiques sont créés (un EVM, un Solana).
-
L'écran d'accueil affiche une carte de configuration de l'agent Connect.
-
L'utilisateur final choisit l'agent Connect, et un message s'affiche : « Donnez à votre agent l'accès à vos portefeuilles ».
-
L'utilisateur final choisit Donner accès.
Le frontend appelle addSessionSigners depuis le Privy SDK pour enregistrer la clé d'autorisation de l'agent sur chaque portefeuille intégré. L'opération est inopérante : si le signataire est déjà enregistré, aucune erreur n'est renvoyée.
Une fois connecté, l'agent peut signer des transactions pour le compte des portefeuilles de l'utilisateur. Les autorisations sont conservées jusqu'à ce qu'elles soient explicitement révoquées.
(Facultatif) Vérifiez la connexion à l'agent
Le frontend vérifie que les autorisations sont actives en appelant l'API Privy :
GET https://auth.privy.io/api/v1/wallets/{walletId} Authorization: Basic <base64(appId:appSecret)>
La réponse inclut un additional_signers tableau. Si l'ID d'autorisation configuré apparaît dans ce tableau, l'agent est connecté.
Une fois la subvention accordée, passez à Créer une session de paiement.
Tester avec testnet USDC
Pour le développement et les tests, utilisez les réseaux testnet et financez des portefeuilles avec test USDC :
-
NEXT_PUBLIC_NETWORK_MODE=testnetDéfini dans le.env.localfichier frontal. -
Obtenez le testnet USDC à partir du robinet Circle USDC
: -
Select Base Sepolia pour les portefeuilles EVM
-
Sélectionnez Solana Devnet pour les portefeuilles Solana
-
-
Collez l'adresse du portefeuille intégré (affichée sur le tableau de bord frontal ou sur l'écran du code QR) dans le robinet.
-
Le robinet distribue le test USDC à votre portefeuille en quelques secondes.
Note
La carte Stripe Onramp (Privy) et Coinbase Onramp ne sont pas disponibles sur testnet. Utilisez le robinet Circle, le transfert de portefeuille externe ou le transfert d'adresse direct pour le financement du testnet.