Mendanai dompet dan memberikan izin agen
Setelah Anda membuat instrumen pembayaran, pengguna akhir harus mendanai dompet dengan USDC dan memberikan izin agen untuk menandatangani transaksi. Sampai kedua langkah selesai, operasi pembayaran proses gagal dengan pengecualian sisi klien.
Tip
Anda dapat mengotomatiskan langkah-langkah di halaman ini dengan keterampilan AgentCore Pembayaran di toolkit AWS agen. Keterampilan adalah bagian dari plugin aws-agents. Dengan itu, agen pengkodean AI dapat membuat Manajer Pembayaran, konektor, penyedia kredensi, instrumen pembayaran, dan sesi menggunakan agentcore CLI, dan menambahkan alat pembayaran x402 ke agen Anda. Untuk detailnya, lihat mulai cepat dan toolkit AWS agen aktif
CDP Coinbase
Saat Anda membuat instrumen pembayaran dengan konektor Coinbase CDP, CreatePaymentInstrument API mengembalikan redirectUrl titik ke Coinbase WalletHub, portal untuk memberikan izin agen dan mendanai dompet. Arahkan pengguna akhir ke URL ini untuk mendanai dompet mereka dan memberikan izin agen dari satu antarmuka.
Gunakan WalletHub URL
redirectUrlDari CreatePaymentInstrument tanggapan membuka Coinbase WalletHub, di mana pengguna akhir dapat mendanai dompet dan memberikan izin penandatanganan kepada agen.
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}")
Atau, Anda dapat menerapkan AgentCore template Coinbase GitHub
Danai dompet
Dari WalletHub (atau frontend yang dihosting sendiri), pengguna akhir dapat mendanai dompet mereka menggunakan salah satu metode berikut:
| Metode | Deskripsi | Ketersediaan |
|---|---|---|
|
Coinbase Onramp () card/bank |
Beli USDC secara langsung menggunakan kartu kredit, kartu debit, Apple Pay, Google Pay, atau ACH melalui alur pembelian yang dihosting Coinbase. |
Hanya mainnet |
|
Terima (kode QR) |
Tampilkan kode QR dan alamat dompet. Pengguna memindai QR atau menyalin alamat untuk mengirim dana dari dompet atau pertukaran eksternal. |
Mainnet dan testnet |
|
Transfer dari dompet eksternal |
Hubungkan dompet ekstensi browser (MetaMask, Phantom, Coinbase Wallet) dan transfer USDC langsung ke dompet yang disematkan. |
Mainnet dan testnet |
Untuk lingkungan testnet, danai dompet dengan testnet USDC dari faucet Circle
Berikan izin agen
Izin agen di Coinbase CDP menggunakan delegasi lingkup dompet — setiap dompet menerima hibah independen dan terikat waktu sendiri dari pengguna akhir yang memberi wewenang kepada agen untuk menandatangani transaksi.
-
Pengguna akhir menavigasi ke bagian Izin di dasbor frontend Coinbase.
-
Pengguna akhir memilih satu atau lebih dompet (EVM and/or Solana) untuk diotorisasi.
-
Pengguna akhir memilih izin Hibah dan memilih durasi kedaluwarsa: 7 hari, 30 hari (default), 60 hari, atau 90 hari.
Setelah diberikan, agen dapat menandatangani transaksi atas nama dompet pengguna akhir sampai hibah berakhir. Pengguna akhir dapat mencabut izin kapan saja dari dasbor yang sama. Setelah hibah diberikan, lanjutkan ke Buat sesi pembayaran.
Mencabut izin
Pengguna akhir dapat mencabut akses agen ke dompet apa pun kapan saja dari bagian izin di dasbor WalletHub atau frontend. Setelah pencabutan, agen tidak dapat lagi menandatangani transaksi untuk dompet itu sampai pengguna memberikan izin baru.
(Alternatif) Terapkan frontend yang dihosting sendiri
Jika Anda memerlukan UI yang dapat disesuaikan alih-alih yang dihosting WalletHub, gunakan AgentCore template Coinbase
-
Kloning repositori:
git clone https://github.com/coinbase/cdp-agentcore-template.git cd cdp-agentcore-template -
Buat
.env.localfile dengan kredensyal CDP Anda: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 -
Instal dependensi dan mulai aplikasi:
npm install npm run dev -
Di Portal Pengembang Coinbase
, tambahkan URL aplikasi Anda ke daftar Asal yang Diizinkan di bawah Non-custodial Dompet > Dompet > Keamanan.
Frontend yang dihosting sendiri menyediakan aliran pendanaan dan pemberian izin yang sama seperti yang dijelaskan di atas, dengan kontrol penuh atas gaya dan pengalaman pengguna.
Stripe (Garis)
Privy AgentCore SDK on GitHub
Terapkan frontend
-
Izinkan endpoint localhost di dasbor Privy di bawah Pengaturan Aplikasi > Dasar-Dasar > Domain
-
Kloning repositori:
git clone https://github.com/privy-io/aws-agentcore-sdk.git cd aws-agentcore-sdk -
Buat
.env.localfile dengan kredensyal Privy Anda: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=testnetNEXT_PUBLIC_PRIVY_SIGNER_IDNilainya adalah ID Otorisasi (ID Kunci) dari dasbor Privy Anda di bawah Infrastruktur Dompet > Otorisasi. Ini adalah pengenal publik dan aman untuk mengekspos sisi klien. -
Instal dependensi dan mulai aplikasi:
pnpm install pnpm dev
Danai dompet
Saat pengguna akhir mengautentikasi melalui frontend Privy, dompet tertanam secara otomatis dibuat untuk jaringan Base (EVM) dan Solana. Pengguna akhir dapat mendanai dompet mereka menggunakan salah satu metode berikut:
| Metode | Deskripsi | Ketersediaan |
|---|---|---|
|
Bayar dengan kartu (Stripe) |
Beli USDC menggunakan kartu kredit atau debit melalui onramp kripto yang dihosting Stripe di. |
Hanya mainnet |
|
Terima (kode QR) |
Tampilkan kode QR dan alamat dompet menggunakan EIP-681 (EVM) atau format URI Solana Pay. Pengguna memindai QR atau menyalin alamat untuk mengirim dana dari dompet atau pertukaran eksternal. |
Mainnet dan testnet |
|
Transfer dari dompet eksternal |
Hubungkan dompet ekstensi browser (MetaMask untuk Base, Phantom for Solana) dan transfer USDC langsung ke dompet yang disematkan. |
Mainnet dan testnet |
Untuk lingkungan testnet, danai dompet dengan testnet USDC dari faucet Circle
Berikan izin agen
Izin agen dalam penandatangan sesi penggunaan Privy (juga disebut kunci otorisasi) —pengguna akhir mendaftarkan kunci otorisasi agen pada setiap dompet yang disematkan, memberikan izin agen untuk menandatangani transaksi tanpa persetujuan per transaksi.
-
Di frontend Privy, pengguna akhir masuk dan dompet tertanam otomatis dibuat (satu EVM, satu Solana).
-
Layar beranda menampilkan kartu pengaturan agen Connect.
-
Pengguna akhir memilih agen Connect, dan modal menampilkan: “Berikan agen Anda akses ke dompet Anda.”
-
Pengguna akhir memilih Berikan akses.
Frontend memanggil addSessionSigners dari Privy SDK untuk mendaftarkan kunci otorisasi agen pada setiap dompet yang disematkan. Operasi ini idempoten—jika penandatangan sudah terdaftar, tidak ada kesalahan yang dikembalikan.
Setelah terhubung, agen dapat menandatangani transaksi atas nama dompet pengguna. Izin tetap ada sampai dicabut secara eksplisit.
(Opsional) Verifikasi koneksi agen
Frontend memverifikasi bahwa izin aktif dengan memanggil Privy API:
GET https://auth.privy.io/api/v1/wallets/{walletId} Authorization: Basic <base64(appId:appSecret)>
Responsnya mencakup additional_signers array. Jika ID Otorisasi yang dikonfigurasi muncul dalam array ini, agen terhubung.
Setelah hibah diberikan, lanjutkan ke Buat sesi pembayaran.
Pengujian dengan testnet USDC
Untuk pengembangan dan pengujian, gunakan jaringan testnet dan dompet dana dengan uji USDC:
-
Atur
NEXT_PUBLIC_NETWORK_MODE=testnetdalam.env.localfile frontend. -
Dapatkan testnet USDC dari faucet Circle USDC
: -
Pilih Base Seplia untuk dompet EVM
-
Pilih Solana Devnet untuk dompet Solana
-
-
Rekatkan alamat dompet yang disematkan (ditampilkan di dasbor frontend atau layar kode QR) ke dalam faucet.
-
Faucet memberikan tes USDC ke dompet Anda dalam hitungan detik.
catatan
Onramp kartu Stripe (Privy) dan Coinbase Onramp tidak tersedia di testnet. Gunakan faucet Circle, transfer dompet eksternal, atau transfer alamat langsung untuk pendanaan testnet.