View a markdown version of this page

ウォレットに資金を提供し、エージェントにアクセス許可を付与する - Amazon Bedrock AgentCore

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ウォレットに資金を提供し、エージェントにアクセス許可を付与する

支払い手段を作成した後、エンドユーザーはウォレットに USD Coin (USDC) を投資し、トランザクションに署名するアクセス許可をエージェントに付与する必要があります。エンドユーザーが両方のステップを完了するまで、プロセス支払いオペレーションはクライアント側の例外で失敗します。

サードパーティーのウォレットプロバイダーの使用には、その条項が適用されます。 AWS は、ウォレット、資金、デジタルアセット、または関連するプライベートキーを保管または管理するものではなく、責任を負いません。エージェントAgentCore支払いの使用に起因する取引、論争、または支払い責任、およびユースケースに応じて適切な保護 (ヒューhuman-in-the-loop監視など) を実装する責任は、お客様が単独で負います。詳細については、 AWS サービス条件のセクション 50.15 (Amazon Bedrock AgentCore Payments) を参照してください。

ヒント

エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。スキルは aws-agents プラグインの一部です。これにより、AI コーディングエージェントは agentcoreCLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、エージェントにプロセス支払いツールを追加できます。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub

コインベース CDP

Coinbase CDP コネクタを使用して支払い手段を作成すると、CreatePaymentInstrumentAPI は、エージェントのアクセス許可を付与し、ウォレットに資金を提供するポータルである Coinbase WalletHub redirectUrlを指す を返します。この URL にエンドユーザーを誘導してウォレットに資金を提供し、単一のインターフェイスからエージェントにアクセス許可を付与します。

WalletHub URL を使用する

CreatePaymentInstrument レスポンスredirectUrlの が Coinbase WalletHub を開き、エンドユーザーはウォレットに資金を提供し、エージェントに署名許可を付与できます。

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

または、GitHub の Coinbase AgentCore テンプレートをセルフホスト型の Next.js フロントエンドとしてデプロイして、カスタマイズ可能な UI で同じ資金とアクセス許可の機能を提供することもできます。セットアップ手順については、「(代替) セルフホスト型フロントエンドをデプロイする」を参照してください。

ウォレットに資金を提供する

WalletHub (またはセルフホストフロントエンド) から、エンドユーザーは次のいずれかの方法を使用してウォレットに資金を提供できます。

方法 説明 利用可能な状況

Coinbase Onramp (カード/銀行)

クレジットカード、デビットカード、Apple Pay、Google Pay、または Coinbase がホストする購入フローを通じて ACH を使用して USDC を直接購入します。

Mainnet のみ

受信 (QR コード)

QR コードとウォレットアドレスを表示します。ユーザーは QR をスキャンするか、アドレスをコピーして外部ウォレットまたは交換所から資金を送信します。

メインネットとテストネット

外部ウォレットからの転送

ブラウザ拡張ウォレット (MetaMask、Phantom、Coinbase Wallet) を接続し、USDC を埋め込みウォレットに直接転送します。

メインネットとテストネット

テストネット環境の場合は、Circle USDC 蛇口からテストネット USDC でウォレットに資金を提供します。

エージェントにアクセス許可を付与する

Coinbase CDP のエージェントアクセス許可は、ウォレットスコープの委任を使用します。各ウォレットは、エージェントがトランザクションに署名することを許可するエンドユーザーから独自の独立した期限付き許可を受け取ります。

  1. エンドユーザーは、Coinbase フロントエンドダッシュボードのアクセス許可セクションに移動します。

  2. エンドユーザーは、認可する 1 つ以上のウォレット (EVM および/または Solana) を選択します。

  3. エンドユーザーはアクセス許可を付与を選択し、有効期限として 7 日、30 日 (デフォルト)、60 日、または 90 日を選択します。

付与されると、エージェントは許可の有効期限が切れるまでエンドユーザーのウォレットに代わってトランザクションに署名できます。エンドユーザーは、同じダッシュボードからいつでもアクセス許可を取り消すことができます。許可が提供されたら、支払いセッションの作成に進みます。

アクセス許可を取り消す

エンドユーザーは、WalletHub またはフロントエンドダッシュボードのアクセス許可セクションから、任意のウォレットへのエージェントアクセスをいつでも取り消すことができます。取り消し後、ユーザーが新しいアクセス許可を付与するまで、エージェントはそのウォレットのトランザクションに署名できなくなります。

(代替) セルフホスト型フロントエンドをデプロイする

ホストされた WalletHub の代わりにカスタマイズ可能な UI が必要な場合は、Coinbase AgentCore テンプレートをセルフホスト Next.js アプリケーションとしてデプロイします。

  1. リポジトリのクローンを作成します。

    git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template
  2. CDP 認証情報を使用して.env.localファイルを作成します。

    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. 依存関係をインストールし、アプリケーションを起動します。

    npm install npm run dev
  4. Coinbase デベロッパーポータルで、ウォレット > 非カスタムウォレット > セキュリティの下の許可されたオリジンリストにアプリケーションの URL を追加します。

セルフホストフロントエンドは、スタイルとユーザーエクスペリエンスを完全に制御しながら、上記ののと同じ資金とアクセス許可付与フローを提供します。

ストライプ (プライベート)

GitHub の Privy AgentCore SDK は Next.js リファレンスフロントエンドであり、エンドユーザーはガイド付きセットアップフローを通じて認証、ウォレットへの資金供給、エージェントのアクセス許可の付与を行うことができます。

フロントエンドをデプロイする

  1. アプリ設定 > 基本 > ドメインの下のプライベートダッシュボードで localhost エンドポイントを許可する

localhost が許可されたオリジンリストに追加されるアプリケーション設定のドメインフィールドを示すプライベートダッシュボード
  1. リポジトリのクローンを作成します。

    git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk
  2. Privy 認証情報を使用して.env.localファイルを作成します。

    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

    NEXT_PUBLIC_PRIVY_SIGNER_ID 値は、ウォレットインフラストラクチャ > 認可の下のプライベートダッシュボードの認可 ID (キー ID) です。これはパブリック識別子であり、クライアント側で公開しても安全です。

  3. 依存関係をインストールし、アプリケーションを起動します。

    pnpm install pnpm dev

ウォレットに資金を提供する

エンドユーザーが Privy フロントエンドを介して認証すると、ベース (EVM) ネットワークと Solana ネットワークの両方で埋め込みウォレットが自動的に作成されます。エンドユーザーは、次のいずれかの方法を使用してウォレットに資金を提供できます。

方法 説明 利用可能な状況

カードで支払う (ストライプ)

で Stripe がホストする暗号化オンランプを使用して、クレジットカードまたはデビットカードを使用して USDC を購入しますcrypto.link.com。

Mainnet のみ

受信 (QR コード)

EIP-681 (EVM) または Solana Pay URI 形式を使用して、QR コードとウォレットアドレスを表示します。ユーザーは QR をスキャンするか、アドレスをコピーして外部ウォレットまたは交換所から資金を送信します。

メインネットとテストネット

外部ウォレットからの転送

ブラウザ拡張ウォレット (MetaMask for Base、Phantom for Solana) を接続し、USDC を埋め込みウォレットに直接転送します。

メインネットとテストネット

テストネット環境の場合は、Circle USDC 蛇口からテストネット USDC でウォレットに資金を提供します。

エージェントにアクセス許可を付与する

Privy のエージェントアクセス許可は、セッション署名者 (認可キーとも呼ばれます) を使用します。エンドユーザーは、埋め込みウォレットごとにエージェントの認可キーを登録し、トランザクションごとの承認なしでトランザクションに署名するアクセス許可をエージェントに付与します。

  1. Privy フロントエンドでは、エンドユーザーがログインし、自動埋め込みウォレットが作成されます (1 つの EVM、1 つの Solana)。

  2. ホーム画面に Connect エージェントのセットアップカードが表示されます。

  3. エンドユーザーは Connect エージェントを選択し、「エージェントにウォレットへのアクセスを許可する」というモーダルが表示されます。

  4. エンドユーザーはアクセス権を付与を選択します。

フロントエンドは Privy SDK addSessionSignersから を呼び出して、各埋め込みウォレットにエージェントの認可キーを登録します。オペレーションはべき等です。署名者が既に登録されている場合、エラーは返されません。

接続すると、エージェントはユーザーのウォレットに代わってトランザクションに署名できます。アクセス許可は、明示的に取り消されるまで保持されます。

(オプション) エージェント接続の検証

フロントエンドは、Privy API を呼び出してアクセス許可がアクティブであることを確認します。

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

レスポンスには additional_signers配列が含まれます。設定された認可 ID がこの配列に表示される場合、エージェントは接続されます。

許可が提供されたら、支払いセッションの作成に進みます。

テストネット USDC を使用したテスト

開発とテストには、テストネットワークを使用し、テスト USDC を使用してウォレットに資金を提供します。

  1. フロントエンド.env.localファイルNEXT_PUBLIC_NETWORK_MODE=testnetで を設定します。

  2. Circle USDC 蛇口からテストネット USDC を取得します。

    • EVM ウォレットの Base Sepolia を選択する

    • Solana ウォレットの Solana Devnet を選択する

  3. 埋め込みウォレットアドレス (フロントエンドダッシュボードまたは QR コード画面に表示) を蛇口に貼り付けます。

  4. 蛇口はテスト USDC を数秒以内にウォレットにディスペンスします。

注記

Stripe Card onramp (Privy) と Coinbase Onramp は、テストネットでは使用できません。Circle 蛇口、外部ウォレット転送、または直接アドレス転送をテストネット資金に使用します。