Prerequisites
Create your API key at portal.groundtech.co, then export it below.1. Review the yield source catalog
Fetch the current yield source catalog, then decide the allocation you want to use for wallet creation.2. Create a Portfolio Wallet
Choose the allocation strategy you’d like for your wallet:status: "creating" and an empty depositAddresses object. Poll GET /v2/wallets/{id} until status is "idle"; the ready wallet response includes depositAddresses keyed by supported chain.
3. Deposit a stablecoin
Send USDC on a supported chain or USDT on Ethereum to the wallet’s deposit address. In sandbox, use Sepolia USDC or Ground’s mock Sepolia USDT. Do not send public testnet USDT to the sandbox mock-token integration. You can get Sepolia USDC from the Circle faucet or bridge testnet ETH via the Sepolia faucet.4. Check balance and yield
Sandbox keys
depositAddresses by explicit testnet chain (ethereum_sepolia, solana_devnet). Production uses canonical chain names (ethereum, base, arbitrum, polygon, solana). See Supported Chains.5. Preview a withdrawal
6. Initiate a withdrawal
7. Track the withdrawal
Poll the withdrawal or subscribe to webhooks:processing and then a terminal status such as completed, partially_completed, failed, or cancelled.
If approval is required, a payout leg and its external payout step enter pending_customer_approval; complete the approval in Ground Portal or through the approval integration enabled for your organization. See Transaction Approvals.
Next steps
- API Conventions — authentication, pagination, rate limits, error codes
- Create a Wallet — wallet lifecycle and response shape
- Deposits — funding and deposit tracking
- Withdraw Funds — full withdrawal lifecycle and payout legs
- Webhooks — real-time status notifications