Finanzia il portafoglio e concedi le autorizzazioni all'agente
Dopo aver creato uno strumento di pagamento, l'utente finale deve finanziare il portafoglio con USDC e concedere all'agente l'autorizzazione a firmare le transazioni. Fino al completamento di entrambi i passaggi, l'operazione di pagamento fallisce con un'eccezione sul lato client.
Suggerimento
Puoi automatizzare i passaggi di questa pagina con l'abilità AgentCore Pagamenti nel toolkit per agenti. AWS L'abilità fa parte del plugin aws-agents. Con esso, un agente di codifica AI può creare Payment Manager, connettore, fornitore di credenziali, strumento di pagamento e sessione utilizzando la agentcore CLI e aggiungere uno strumento di pagamento x402 al tuo agente. Per i dettagli, consulta il quickstart e il toolkit per agenti su.AWS GitHub
Coinbase CDP
Quando crei uno strumento di pagamento con il connettore Coinbase CDP, l'CreatePaymentInstrumentAPI rimanda a Coinbase WalletHub, redirectUrl un portale per concedere le autorizzazioni agli agenti e finanziare il portafoglio. Indirizza l'utente finale a questo URL per finanziare il proprio portafoglio e concedere le autorizzazioni agli agenti da un'unica interfaccia.
Usa l'URL WalletHub
redirectUrlDalla CreatePaymentInstrument risposta si apre Coinbase WalletHub, dove l'utente finale può finanziare il portafoglio e concedere le autorizzazioni di firma all'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}")
In alternativa, puoi utilizzare il AgentCore modello Coinbase GitHub
Finanzia il portafoglio
Dal frontend WalletHub (o dal frontend ospitato autonomamente), l'utente finale può finanziare il proprio portafoglio utilizzando uno dei seguenti metodi:
| Metodo | Description | Disponibilità |
|---|---|---|
|
Coinbase Onramp () card/bank |
Acquista USDC direttamente utilizzando una carta di credito, una carta di debito, Apple Pay, Google Pay o ACH tramite il flusso di acquisto ospitato da Coinbase. |
Solo Mainnet |
|
Ricevi (codice QR) |
Visualizza un codice QR e l'indirizzo del portafoglio. L'utente esegue la scansione del codice QR o copia l'indirizzo per inviare fondi da un portafoglio o da un exchange esterno. |
Mainnet e testnet |
|
Trasferimento da un portafoglio esterno |
Collega un portafoglio con estensione del browser (MetaMaskPhantom, Coinbase Wallet) e trasferisci USDC direttamente nel portafoglio incorporato. |
Mainnet e testnet |
Per gli ambienti testnet, alimenta il portafoglio con testnet USDC dal rubinetto Circle USDC.
Concedi le autorizzazioni agli agenti
Le autorizzazioni degli agenti in Coinbase CDP utilizzano la delega basata sull'ambito del portafoglio: ogni portafoglio riceve una concessione indipendente e limitata nel tempo dall'utente finale che autorizza l'agente a firmare le transazioni.
-
L'utente finale accede alla sezione Autorizzazioni della dashboard del frontend di Coinbase.
-
L'utente finale seleziona uno o più portafogli (EVM Solana) da autorizzare. and/or
-
L'utente finale sceglie Concedi l'autorizzazione e seleziona una durata di scadenza: 7 giorni, 30 giorni (impostazione predefinita), 60 giorni o 90 giorni.
Una volta concessa, l'agente può firmare le transazioni per conto dei portafogli dell'utente finale fino alla scadenza della concessione. L'utente finale può revocare le autorizzazioni in qualsiasi momento dalla stessa dashboard. Una volta fornita la sovvenzione, procedi con Crea una sessione di pagamento.
Revoca le autorizzazioni
L'utente finale può revocare l'accesso dell'agente a qualsiasi portafoglio in qualsiasi momento dalla sezione delle autorizzazioni della dashboard o del frontend. WalletHub Dopo la revoca, l'agente non può più firmare le transazioni per quel portafoglio finché l'utente non concede nuove autorizzazioni.
(Alternativa) Implementa il frontend ospitato autonomamente
Se hai bisogno di un'interfaccia utente personalizzabile anziché quella ospitata WalletHub, implementa il AgentCore modello Coinbase
-
Clona il repository:
git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template -
Crea un
.env.localfile con le tue credenziali 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 -
Installa le dipendenze e avvia l'applicazione:
npm install npm run dev -
Nel Coinbase Developer Portal
, aggiungi l'URL dell'applicazione all'elenco Allowed Origins in Wallets > Non-custodial Wallet > Security.
Il frontend ospitato autonomamente offre gli stessi flussi di finanziamento e concessione delle autorizzazioni descritti sopra, con il pieno controllo sullo stile e sull'esperienza utente.
Stripe (Privy)
Privy AgentCore SDK on GitHub
Implementa il frontend
-
Consenti l'endpoint localhost nella dashboard di Privy in Impostazioni app > Nozioni di base > Domini
-
Clona il repository:
git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk -
Crea un
.env.localfile con le tue credenziali 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=testnetIl
NEXT_PUBLIC_PRIVY_SIGNER_IDvalore è l'ID di autorizzazione (Key ID) dalla dashboard di Privy in Wallet Infrastructure > Authorization. Si tratta di un identificatore pubblico ed è sicuro da esporre sul lato client. -
Installa le dipendenze e avvia l'applicazione:
pnpm install pnpm dev
Trova il portafoglio
Quando l'utente finale si autentica tramite il frontend Privy, i portafogli integrati vengono creati automaticamente per le reti Base (EVM) e Solana. L'utente finale può finanziare il proprio portafoglio utilizzando uno dei seguenti metodi:
| Metodo | Description | Disponibilità |
|---|---|---|
|
Paga con carta (Stripe) |
Acquista USDC utilizzando una carta di credito o di debito tramite la piattaforma crittografica ospitata da Stripe su Stripe all'indirizzo. |
Solo Mainnet |
|
Ricevi (codice QR) |
Visualizza un codice QR e l'indirizzo del portafoglio utilizzando il EIP-681 formato URI (EVM) o Solana Pay. L'utente esegue la scansione del QR o copia l'indirizzo per inviare fondi da un portafoglio o da un exchange esterno. |
Mainnet e testnet |
|
Trasferimento da un portafoglio esterno |
Connect un wallet con estensione del browser (MetaMask per Base, Phantom for Solana) e trasferisci USDC direttamente nel wallet incorporato. |
Mainnet e testnet |
Per gli ambienti testnet, alimenta il portafoglio con testnet USDC dal rubinetto Circle USDC.
Concedi le autorizzazioni agli agenti
Le autorizzazioni degli agenti in Privy utilizzano i firmatari di sessione (chiamati anche chiavi di autorizzazione): l'utente finale registra la chiave di autorizzazione dell'agente su ogni portafoglio incorporato, concedendo all'agente il permesso di firmare le transazioni senza l'approvazione della singola transazione.
-
Nel frontend Privy, l'utente finale accede e vengono creati portafogli incorporati automatici (un EVM, un Solana).
-
La schermata principale mostra una scheda di configurazione Connect Agent.
-
L'utente finale sceglie Connect agent e viene visualizzato un modale: «Consenti al tuo agente di accedere ai tuoi portafogli».
-
L'utente finale sceglie Concedi accesso.
Il frontend chiama addSessionSigners dal Privy SDK per registrare la chiave di autorizzazione dell'agente su ogni portafoglio incorporato. L'operazione è idempotente: se il firmatario è già registrato, non viene restituito alcun errore.
Una volta connesso, l'agente può firmare le transazioni per conto dei portafogli dell'utente. Le autorizzazioni persistono fino a quando non vengono revocate esplicitamente.
(Facoltativo) Verifica la connessione dell'agente
Il frontend verifica che le autorizzazioni siano attive chiamando l'API Privy:
GET https://auth.privy.io/api/v1/wallets/{walletId} Authorization: Basic <base64(appId:appSecret)>
La risposta include un array. additional_signers Se l'ID di autorizzazione configurato appare in questo array, l'agente è connesso.
Una volta fornita la concessione, procedi con Crea una sessione di pagamento.
Test con testnet USDC
Per lo sviluppo e il test, utilizza le reti testnet e i portafogli di fondi con test USDC:
-
Impostato
NEXT_PUBLIC_NETWORK_MODE=testnetnel file di frontend..env.local -
Ottieni testnet USDC dal rubinetto Circle
USDC: -
Seleziona Base Sepolia per i portafogli EVM
-
Seleziona Solana Devnet per i portafogli Solana
-
-
Incolla l'indirizzo del portafoglio incorporato (mostrato nella dashboard del frontend o nella schermata del codice QR) nel rubinetto.
-
Il rubinetto distribuisce l'USDC di prova al tuo portafoglio in pochi secondi.
Nota
La carta Stripe onramp (Privy) e Coinbase Onramp non sono disponibili su testnet. Usa il faucet Circle, il trasferimento tramite wallet esterno o il trasferimento diretto di indirizzi per finanziare testnet.