View a markdown version of this page

為錢包提供資金並授予代理程式許可 - Amazon Bedrock AgentCore

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為錢包提供資金並授予代理程式許可

建立付款工具後,最終使用者必須使用 USD 錢幣 (USDC) 為錢包提供資金,並授予代理程式簽署交易的許可。在最終使用者完成這兩個步驟之前,程序付款操作會失敗並出現用戶端例外狀況。

您對第三方錢包提供者的使用受其條款的約束。 AWS 沒有錢包、資金、數位資產或相關私有金鑰的託管或控制,也不負責。您全權負責因使用 AgentCore Payments 而產生的任何交易、爭端或付款責任,以及實作適合您使用案例的適當保護措施 (例如human-in-the-loop監督)。如需詳細資訊,請參閱 AWS 服務條款的第 50.15 節 (Amazon Bedrock AgentCore Payments)。

提示

您可以使用 AWS 客服人員工具組中的 AgentCore Payments 技能來自動化此頁面上的步驟。技能是 aws-agents 外掛程式的一部分。AI 編碼代理程式可以使用 CLI agentcore 建立您的 Payment Manager、連接器、登入資料提供者、付款工具和工作階段,並將程序付款工具新增至您的代理程式。如需詳細資訊,請參閱 GitHub 上的快速入門和客服人員工具組。 AWS GitHub

Coinbase CDP

當您使用 Coinbase CDP 連接器建立付款工具時,CreatePaymentInstrumentAPI 會傳回redirectUrl指向 Coinbase WalletHub 的入口網站,以授予代理程式許可並為錢包提供資金。將最終使用者導向此 URL,以為其錢包提供資金,並從單一界面授予代理程式許可。

使用 WalletHub URL

redirectUrl 來自CreatePaymentInstrument回應的 會開啟 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 (或自我託管前端),最終使用者可以使用下列任一方法為其錢包提供資金:

Method 說明 可用性

Coinbase Onramp (卡片/銀行)

透過 Coinbase 的託管購買流程,直接使用信用卡、簽帳金融卡、Apple Pay、Google Pay 或 ACH 購買 USDC。

僅限 Mainnet

接收 (QR 碼)

顯示 QR 碼和錢包地址。使用者掃描 QR 或複製地址,以從外部錢包或交換傳送資金。

Mainnet 和 testnet

從外部錢包傳輸

連接瀏覽器延伸錢包 (MetaMask、Phantom、Coinbase Wallet),並將 USDC 直接轉移至內嵌錢包。

Mainnet 和 testnet

對於睪丸環境,請從 Circle USDC 龍頭使用睪丸 USDC 為錢包提供資金。

授予代理程式許可

Coinbase CDP 中的代理程式許可使用錢包範圍委派,每個錢包都會從授權代理程式簽署交易的最終使用者收到自己的獨立、有時間限制的授予。

  1. 最終使用者導覽至 Coinbase 前端儀表板的許可區段。

  2. 最終使用者選取要授權的一或多個錢包 (EVM 和/或 Solana)。

  3. 最終使用者選擇授予許可,並選取過期持續時間:7 天、30 天 (預設)、60 天或 90 天。

一旦授予,代理程式可以代表最終使用者的錢包簽署交易,直到授予到期。最終使用者可以隨時從相同的儀表板撤銷許可。提供授予後,請繼續建立付款工作階段。

撤銷許可

最終使用者可以隨時從 WalletHub 或前端儀表板的許可區段撤銷代理程式對任何錢包的存取。撤銷後,在使用者授予新許可之前,代理程式無法再簽署該錢包的交易。

(替代) 部署自我託管前端

如果您需要可自訂的 UI 而非託管的 WalletHub,請將 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. 允許在應用程式設定 > 基本概念 > 網域下的 Privy 儀表板中列出 localhost 端點

Privy 儀表板顯示應用程式設定下的網域欄位,其中 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值是錢包基礎設施 > 授權下 Privy 儀表板的授權 ID (金鑰 ID)。這是公有識別符,可以安全地公開用戶端。

  3. 安裝相依性並啟動應用程式:

    pnpm install pnpm dev

為錢包提供資金

當最終使用者透過 Privy 前端進行驗證時,會自動為 Base (EVM) 和 Solana 網路建立內嵌錢包。最終使用者可以使用下列任一方法為其錢包提供資金:

Method 說明 可用性

使用卡片付款 (條紋)

透過位於 的 Stripe 託管加密 onramp,使用信用卡或簽帳金融卡購買 USDCcrypto.link.com。

僅限 Mainnet

接收 (QR 碼)

使用 EIP-681 (EVM) 或 Solana Pay URI 格式顯示 QR 代碼和錢包地址。使用者掃描 QR 或複製地址,以從外部錢包或交換傳送資金。

Mainnet 和 testnet

從外部錢包傳輸

連接瀏覽器延伸錢包 (MetaMask for Base、Pantom for Solana),並將 USDC 直接轉移至內嵌錢包。

Mainnet 和 testnet

對於睪丸環境,請從 Circle USDC 龍頭使用睪丸 USDC 為錢包提供資金。

授予代理程式許可

Privy 中的代理程式許可使用工作階段簽署者 (也稱為授權金鑰) - 最終使用者在每個內嵌錢包上註冊代理程式的授權金鑰,授予代理程式簽署交易的許可,而無需按交易核准。

  1. 在 Privy 前端中,最終使用者登入並建立自動內嵌錢包 (一個 EVM、一個 Solana)。

  2. 主畫面會顯示 Connect 客服人員設定卡。

  3. 最終使用者選擇 Connect 代理程式,並顯示模態:「讓您的代理程式存取您的錢包」。

  4. 最終使用者選擇授予存取權。

來自 Privy 開發套件addSessionSigners的前端呼叫,以在每個內嵌錢包上註冊代理程式的授權金鑰。操作是等冪的 - 如果簽署者已註冊,則不會傳回錯誤。

連線後,代理程式即可代表使用者的錢包簽署交易。許可會持續到明確撤銷為止。

(選用) 驗證客服人員連線

前端會呼叫 Privy API 來驗證許可是否處於作用中狀態:

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

回應包含 additional_signers陣列。如果已設定的授權 ID 出現在此陣列中,表示代理程式已連線。

提供授予後,請繼續建立付款工作階段。

使用睪丸 USDC 進行測試

針對開發和測試,請使用測試網路和資金錢包搭配測試 USDC:

  1. NEXT_PUBLIC_NETWORK_MODE=testnet 在前端.env.local檔案中設定 。

  2. 從 Circle USDC 精靈取得睪丸 USDC:

    • 選取 EVM 錢包的基本 Sepolia

    • 選取 Solana 錢包的 Solana Devnet

  3. 將內嵌錢包地址 (顯示於前端儀表板或 QR 碼畫面) 貼入水龍頭。

  4. 水龍頭會在幾秒鐘內將測試 USDC 分配給您的錢包。

注意

條紋卡 onramp (Privy) 和 Coinbase Onramp 無法在 testnet 上使用。使用 Circle 功能、外部錢包轉移或直接地址轉移來獲得睪丸資金。