View a markdown version of this page

Finanzieren Sie das Wallet und gewähren Sie Agentenberechtigungen - Amazon Grundgestein AgentCore

Finanzieren Sie das Wallet und gewähren Sie Agentenberechtigungen

Nachdem Sie ein Zahlungsinstrument erstellt haben, muss der Endbenutzer die Wallet mit USDC finanzieren und dem Agenten die Erlaubnis erteilen, Transaktionen zu signieren. Bis beide Schritte abgeschlossen sind, schlägt der Zahlungsvorgang mit einer clientseitigen Ausnahme fehl.

Tipp

Sie können die Schritte auf dieser Seite mit dem Skill „ AgentCore Zahlungen“ im AWS Agenten-Toolkit automatisieren. Der Skill ist Teil des aws-agents-Plugins. Damit kann ein KI-Codierungsagent Ihren Zahlungsmanager, Connector, Anmeldeinformationsanbieter, Zahlungsinstrument und Sitzung mithilfe der agentcore CLI erstellen und Ihrem Agenten ein x402-Zahlungstool hinzufügen. Einzelheiten finden Sie im Schnellstart und im AWS Agenten-Toolkit unter. GitHub

Coinbase CDP

Wenn Sie ein Zahlungsinstrument mit dem Coinbase CDP-Connector erstellen, gibt die CreatePaymentInstrument API einen Verweis auf Coinbase zurück, ein redirectUrl Portal WalletHub, über das Agentenberechtigungen erteilt und die Wallet finanziert werden können. Leiten Sie den Endbenutzer zu dieser URL weiter, um seine Wallet zu finanzieren und Agentenberechtigungen von einer einzigen Oberfläche aus zu gewähren.

Verwenden Sie die WalletHub URL

redirectUrlVon der CreatePaymentInstrument Antwort aus wird die Coinbase geöffnet WalletHub, wo der Endbenutzer die Wallet finanzieren und dem Agenten Signierberechtigungen erteilen kann.

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 für die Finanzierung und Erteilung von Genehmigungen

Alternativ können Sie die AgentCore Coinbase-Vorlage GitHub als selbst gehostetes Next.js Frontend bereitstellen, das dieselben Finanzierungs- und Berechtigungsfunktionen mit einer anpassbaren Benutzeroberfläche bietet. Anweisungen (Alternative) Stellen Sie das selbst gehostete Frontend bereit zur Einrichtung finden Sie unter.

Finanzieren Sie die Brieftasche

Über das WalletHub (oder das selbst gehostete Frontend) kann der Endbenutzer sein Wallet mit einer der folgenden Methoden aufladen:

Methode Description Verfügbarkeit

Coinbase Onramp () card/bank

Kaufe USDC direkt mit einer Kreditkarte, Debitkarte, Apple Pay, Google Pay oder ACH über den von Coinbase gehosteten Kaufablauf.

Nur Mainnet

Empfangen (QR-Code)

Zeigen Sie einen QR-Code und eine Brieftaschenadresse an. Der Benutzer scannt den QR oder kopiert die Adresse, um Geld aus einer externen Brieftasche oder Börse zu senden.

Mainnet und Testnet

Übertragung von einer externen Brieftasche

Connect eine Wallet mit Browsererweiterungen (MetaMask, Phantom, Coinbase Wallet) und überweise USDC direkt auf die eingebettete Wallet.

Mainnet und Testnet

Für Testnet-Umgebungen finanzieren Sie das Wallet mit Testnet USDC aus dem Circle USDC-Faucet.

Gewähren Sie Agentenberechtigungen

Agentenberechtigungen in Coinbase CDP verwenden Delegierung im Wallet-Bereich — jedes Wallet erhält seinen eigenen unabhängigen, zeitlich begrenzten Zuschuss vom Endbenutzer, der den Agenten autorisiert, Transaktionen zu signieren.

  1. Der Endbenutzer navigiert zum Bereich „Berechtigungen“ des Coinbase-Frontend-Dashboards.

  2. Der Endbenutzer wählt eine oder mehrere Wallets (EVM and/or Solana) zur Autorisierung aus.

  3. Der Endbenutzer wählt Erlaubnis erteilen und wählt eine Ablaufdauer aus: 7 Tage, 30 Tage (Standard), 60 Tage oder 90 Tage.

Nach der Erteilung kann der Agent Transaktionen im Namen der Wallets des Endbenutzers unterzeichnen, bis die Genehmigung abläuft. Der Endbenutzer kann Berechtigungen jederzeit über dasselbe Dashboard widerrufen. Sobald der Zuschuss gewährt wurde, fahren Sie mit „Zahlungssitzung erstellen“ fort.

Widerrufen Sie die Berechtigungen

Der Endbenutzer kann den Agentenzugriff auf jedes Wallet jederzeit über den Berechtigungsbereich des Frontend-Dashboards WalletHub oder des Frontend-Dashboards widerrufen. Nach dem Widerruf kann der Agent keine Transaktionen mehr für dieses Wallet signieren, bis der Benutzer neue Berechtigungen erteilt.

(Alternative) Stellen Sie das selbst gehostete Frontend bereit

Wenn Sie anstelle der gehosteten eine anpassbare Benutzeroberfläche benötigen WalletHub, stellen Sie die AgentCore Coinbase-Vorlage als selbst gehostete Anwendung bereit. Next.js

  1. Klonen Sie das Repository:

    git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template
  2. Erstellen Sie eine .env.local Datei mit Ihren CDP-Anmeldeinformationen:

    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. Installieren Sie Abhängigkeiten und starten Sie die Anwendung:

    npm install npm run dev
  4. Fügen Sie im Coinbase Developer Portal die URL Ihrer Anwendung zur Liste der erlaubten Ursprünge unter Wallets > Non-custodial Wallet > Security hinzu.

Das selbst gehostete Frontend bietet dieselben Finanzierungs- und Genehmigungsabläufe wie oben beschrieben, mit voller Kontrolle über das Design und die Benutzererfahrung.

Stripe (Privy)

Das Privy AgentCore SDK on GitHub ist ein Next.js Referenz-Frontend, das es Endbenutzern ermöglicht, sich über einen geführten Einrichtungsablauf zu authentifizieren, Wallets zu finanzieren und Agentenberechtigungen zu erteilen.

Stellen Sie das Frontend bereit

  1. Setzen Sie den Localhost-Endpunkt im Privy-Dashboard unter App-Einstellungen > Grundlagen > Domains auf die Zulassungsliste

Das Privy-Dashboard zeigt das Feld Domains unter App-Einstellungen, in dem localhost zur Liste der zulässigen Ursprünge hinzugefügt wird
  1. Klonen Sie das Repository:

    git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk
  2. Erstellen Sie eine .env.local Datei mit Ihren Privy-Anmeldeinformationen:

    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

    Der NEXT_PUBLIC_PRIVY_SIGNER_ID Wert ist die Autorisierungs-ID (Schlüssel-ID) aus Ihrem Privy-Dashboard unter Wallet Infrastructure > Authorization. Dies ist eine öffentliche Kennung, die auf der Clientseite sicher offengelegt werden kann.

  3. Installieren Sie Abhängigkeiten und starten Sie die Anwendung:

    pnpm install pnpm dev

Finanzieren Sie die Brieftasche

Wenn sich der Endbenutzer über das Privy-Frontend authentifiziert, werden automatisch eingebettete Wallets sowohl für Base- (EVM) als auch für Solana-Netzwerke erstellt. Der Endbenutzer kann seine Brieftasche mit einer der folgenden Methoden aufladen:

Methode Description Verfügbarkeit

Zahlen Sie mit Karte (Stripe)

Kaufe USDC mit einer Kredit- oder Debitkarte über den von Stripe gehosteten Krypto-Onramp unter. crypto.link.com

Nur Mainnet

Empfangen (QR-Code)

Zeigen Sie einen QR-Code und eine Wallet-Adresse im URI-Format EIP-681 (EVM) oder Solana Pay an. Der Benutzer scannt den QR oder kopiert die Adresse, um Geld aus einer externen Brieftasche oder Börse zu senden.

Mainnet und Testnet

Übertragung von einer externen Brieftasche

Connect eine Wallet mit Browsererweiterungen (MetaMask für Base, Phantom für Solana) und überweise USDC direkt auf die eingebettete Wallet.

Mainnet und Testnet

Für Testnet-Umgebungen finanzieren Sie das Wallet mit Testnet USDC aus dem Circle USDC-Faucet.

Gewähren Sie Agentenberechtigungen

Agentenberechtigungen in Privy verwenden Sitzungssignierer (auch Autorisierungsschlüssel genannt). Der Endbenutzer registriert den Autorisierungsschlüssel des Agenten in jedem eingebetteten Wallet und erteilt dem Agenten so die Erlaubnis, Transaktionen ohne Genehmigung pro Transaktion zu signieren.

  1. Im Privy-Frontend meldet sich der Endbenutzer an und es werden automatisch eingebettete Wallets erstellt (eine EVM, eine Solana).

  2. Auf dem Startbildschirm wird eine Connect Agent-Setup-Karte angezeigt.

  3. Der Endbenutzer wählt den Connect-Agenten aus, und in einem Modalfenster wird angezeigt: „Geben Sie Ihrem Agenten Zugriff auf Ihre Wallets.“

  4. Der Endbenutzer wählt Zugriff gewähren.

Das Frontend ruft addSessionSigners vom Privy SDK aus auf, um den Autorisierungsschlüssel des Agenten in jeder eingebetteten Wallet zu registrieren. Der Vorgang ist idempotent — wenn der Unterzeichner bereits registriert ist, wird kein Fehler zurückgegeben.

Sobald die Verbindung hergestellt ist, kann der Agent Transaktionen im Namen der Wallets des Benutzers signieren. Die Berechtigungen bleiben bestehen, bis sie ausdrücklich widerrufen werden.

(Optional) Überprüfen Sie die Agentenverbindung

Das Frontend überprüft, ob die Berechtigungen aktiv sind, indem es die Privy-API aufruft:

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

Die Antwort enthält ein Array. additional_signers Wenn die konfigurierte Autorisierungs-ID in diesem Array erscheint, ist der Agent verbunden.

Sobald der Zuschuss gewährt wurde, fahren Sie mit „Zahlungssitzung erstellen“ fort.

Testen mit Testnet USDC

Verwenden Sie für Entwicklung und Tests Testnet-Netzwerke und finanzieren Sie Wallets mit Test USDC:

  1. In der NEXT_PUBLIC_NETWORK_MODE=testnet Frontend-Datei festgelegt. .env.local

  2. Rufen Sie Testnet USDC aus dem Circle USDC-Wasserhahn ab:

    • Wählen Sie Base Sepolia für EVM-Wallets

    • Wählen Sie Solana Devnet für Solana-Wallets

  3. Fügen Sie die eingebettete Wallet-Adresse (im Frontend-Dashboard oder auf dem QR-Code-Bildschirm angezeigt) in den Wasserhahn ein.

  4. Der Wasserhahn gibt innerhalb von Sekunden Test-USDC an Ihre Brieftasche aus.

Anmerkung

Die Stripe-Karte Onramp (Privy) und Coinbase Onramp sind im Testnet nicht verfügbar. Verwenden Sie den Circle-Faucet, die externe Wallet-Übertragung oder die direkte Adressübertragung für die Testnet-Finanzierung.