Skip to main content
This quickstart walks through the full Portfolio Wallet lifecycle: reviewing yield sources, creating a wallet, funding it, and initiating a withdrawal.

Prerequisites

Create your API key at portal.groundtech.co, then export it below.
See API Conventions for authentication, pagination, rate limits, and error handling.

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:
The create response returns immediately with 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:
The withdrawal moves through 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