- As with most of our quickstarts, all API calls and transactions in this guide occur within the Testnet environment; no real-world funds will be transferred.
- If you have not yet created a developer-controlled wallet, see this guide.
1. Acquire the Wallet Address
To receive funds on-chain, you will need the wallet’s address. The address is the on-chain identifier provided to the sending wallet or in the following step. To retrieve the address, make a request toGET /wallets as shown
below. You should also note down the wallets.id this will be used in step 3.
Response Body
2. Transfer Testnet Currency
Send testnet currency from an external wallet outside the Programmable Wallet infrastructure into your applicable walletaddress. The best way to achieve
this is through the use of a . In our case, we will
use the USDC Faucet to transfer USDC on Polygon Amoy
to the wallet.
Here is a list of reputable native token faucets for each blockchain:
| Blockchain | USDC faucet | Testnet native token faucet |
|---|---|---|
| Aptos Testnet | USDC on APT Faucet | Aptos APT Faucet |
| Arbitrum Sepolia | USDC on ARB Faucet | Sepolia ARB Faucet |
| Avalanche Fuji | USDC on AVAX Faucet | Fuji AVAX Faucet |
| Base Sepolia | USDC on BASE Faucet | Sepolia Base Faucet |
| Ethereum Sepolia | USDC on ETH Faucet | Sepolia ETH Faucet |
| Optimism Sepolia | USDC on OP Faucet | Sepolia OP Faucet |
| Polygon Amoy | USDC on MATIC Faucet | Amoy MATIC Faucet |
| Solana Devnet | USDC on SOL Faucet | Devnet SOL Faucet |
| Unichain Sepolia | USDC on UNI Faucet | Sepolia UNI Faucet |
3. Check the Transfer State
Once an inbound transfer is made to the address and completed, Circle sends a notification to a subscribed endpoint. The Webhook notification will be similar to the one below.Webhook Request Body
GET /transactions
using the walletId as query parameter.
Response Body