View a markdown version of this page

Finanzia il portafoglio e concedi le autorizzazioni agli agenti - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Finanzia il portafoglio e concedi le autorizzazioni agli agenti

Dopo aver creato uno strumento di pagamento, l'utente finale deve finanziare il portafoglio con USD Coin (USDC) e concedere all'agente il permesso di firmare le transazioni. Finché l'utente finale non completa entrambi i passaggi, l'operazione di pagamento ha esito negativo con un'eccezione sul lato client.

L'utilizzo di fornitori di portafogli di terze parti è regolato dai relativi termini. AWS non ha la custodia o il controllo e non è responsabile di portafogli, fondi, risorse digitali o chiavi private associate. L'utente è l'unico responsabile di eventuali transazioni, controversie o responsabilità di pagamento derivanti dall'utilizzo di AgentCore Payments e dell'implementazione delle misure di protezione appropriate (come la supervisione umana nel tempo) appropriate al proprio caso d'uso. Per maggiori dettagli, consulta la Sezione 50.15 (Amazon AgentCore Bedrock Payments) dei Termini di servizio. AWS

Suggerimento

Puoi automatizzare i passaggi in 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 il gestore dei pagamenti, il connettore, il fornitore di credenziali, lo strumento di pagamento e la sessione utilizzando la agentcore CLI e aggiungere uno strumento di elaborazione dei pagamenti all'agente. Per i dettagli, consulta il quickstart e il toolkit per gli AWS agenti attivi. GitHub

Coinbase CDP

Quando crei uno strumento di pagamento con il connettore Coinbase CDP, l'CreatePaymentInstrumentAPI rimanda a Coinbase WalletHub, un redirectUrl 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 all'agente 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}")
Coinbase WalletHub per il finanziamento e la concessione delle autorizzazioni

In alternativa, puoi implementare il AgentCore modello Coinbase GitHub come Next.js frontend self-hosted che fornisce le stesse funzionalità di finanziamento e autorizzazioni con un'interfaccia utente personalizzabile. Consulta le istruzioni di configurazione. (Alternativa) Implementa il frontend ospitato autonomamente

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 acquisti ospitato da Coinbase.

Solo rete principale

Ricevi (codice QR)

Visualizza un codice QR e l'indirizzo del portafoglio. L'utente scansiona il QR o copia l'indirizzo per inviare fondi da un portafoglio o exchange esterno.

Mainnet e testnet

Trasferimento da portafoglio esterno

Collega un portafoglio con estensione del browser (MetaMaskPhantom, Coinbase Wallet) e trasferisci USDC direttamente al portafoglio integrato.

Mainnet e testnet

Per gli ambienti testnet, finanzia il portafoglio con testnet USDC dal rubinetto Circle USDC. https://faucet.circle.com/

Concedi le autorizzazioni agli agenti

Le autorizzazioni degli agenti in Coinbase CDP utilizzano la delega basata sul portafoglio: ogni portafoglio riceve una propria concessione indipendente e limitata nel tempo dall'utente finale che autorizza l'agente a firmare le transazioni.

  1. L'utente finale accede alla sezione Autorizzazioni della dashboard frontend di Coinbase.

  2. L'utente finale seleziona uno o più portafogli (EVM Solana) da autorizzare. and/or

  3. 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 la creazione di 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 invece di quella ospitata WalletHub, implementa il AgentCore modello https://github.com/coinbase/cdp-agentcore-template Coinbase come applicazione ospitata autonomamente. Next.js

  1. Clona il repository:

    git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template
  2. Crea un .env.local file 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
  3. Installa le dipendenze e avvia l'applicazione:

    npm install npm run dev
  4. Nel Coinbase Developer Portal, aggiungi l'URL della tua applicazione all'elenco delle origini consentite in Portafogli > Non-custodial Portafoglio > Sicurezza.

Il frontend self-hosted fornisce 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 è un frontend di Next.js riferimento che consente agli utenti finali di autenticarsi, finanziare portafogli e concedere le autorizzazioni agli agenti attraverso un flusso di configurazione guidato.

Implementa il frontend

  1. Inserisci l'endpoint localhost nella dashboard di Privy in Impostazioni dell'app > Nozioni di base > Domini

Dashboard di Privy che mostra il campo Domini in Impostazioni app, dove localhost viene aggiunto all'elenco delle origini consentite
  1. Clona il repository:

    git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk
  2. Crea un .env.local file 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=testnet

    Il NEXT_PUBLIC_PRIVY_SIGNER_ID valore è l'ID di autorizzazione (Key ID) presente nella dashboard di Privy in Wallet Infrastructure > Authorization. Si tratta di un identificatore pubblico ed è sicuro da esporre sul lato client.

  3. Installa le dipendenze e avvia l'applicazione:

    pnpm install pnpm dev

Finanzia 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 criptovaluta onramp ospitata da Stripe all'indirizzo. crypto.link.com

Solo rete principale

Ricevi (codice QR)

Visualizza un codice QR e l'indirizzo del portafoglio utilizzando il EIP-681 formato (EVM) o Solana Pay URI. L'utente scansiona il QR o copia l'indirizzo per inviare fondi da un portafoglio o exchange esterno.

Mainnet e testnet

Trasferimento da portafoglio esterno

Collega un portafoglio con estensione del browser (MetaMask per Base, Phantom per Solana) e trasferisci USDC direttamente al portafoglio integrato.

Mainnet e testnet

Per gli ambienti testnet, finanzia il portafoglio con testnet USDC dal rubinetto Circle USDC. https://faucet.circle.com/

Concedi le autorizzazioni agli agenti

Le autorizzazioni degli agenti in Privy utilizzano i firmatari della sessione (denominati 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 per transazione.

  1. Nel frontend di Privy, l'utente finale accede e vengono creati portafogli integrati automatici (un EVM, un Solana).

  2. La schermata principale mostra una scheda di configurazione dell'agente Connect.

  3. L'utente finale sceglie l'agente Connect e viene visualizzata una finestra modale: «Consenti al tuo agente di accedere ai tuoi portafogli».

  4. L'utente finale sceglie Concedi l'accesso.

Il frontend chiama addSessionSigners da 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 alla revoca esplicita.

(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 la creazione di una sessione di pagamento.

Test con testnet USDC

Per lo sviluppo e il test, utilizza le reti testnet e finanzia i portafogli con USDC di prova:

  1. Impostato NEXT_PUBLIC_NETWORK_MODE=testnet nel file di frontend. .env.local

  2. Ottieni testnet USDC dal rubinetto Circle USDC:

    • Seleziona Base Sepolia per i portafogli EVM

    • Seleziona Solana Devnet per i portafogli Solana

  3. Incolla l'indirizzo del portafoglio incorporato (mostrato nella dashboard del frontend o nella schermata del codice QR) nel rubinetto.

  4. Il rubinetto eroga l'USDC di test al tuo portafoglio in pochi secondi.

Nota

La carta Stripe onramp (Privy) e Coinbase Onramp non sono disponibili su testnet. Usa il rubinetto Circle, il trasferimento del portafoglio esterno o il trasferimento diretto dell'indirizzo per finanziare testnet.