Skip to main content
After creating a wallet, fund it by sweeping stablecoins to the wallet’s deposit addresses.

Fund the wallet

The wallet creation response includes depositAddresses — one address per supported chain. Send USDC to the address on your preferred chain.
to:    0x21246509968c4d24611f414560971AEc2e3A079B
chain: ethereum
token: usdc
amount: 50,000.00
In sandbox, depositAddresses.ethereum is a Sepolia address (fund with Sepolia USDC) and depositAddresses.solana is a Solana devnet address (fund with devnet USDC).

Deposit lifecycle

Deposits move through the following statuses:
StatusMeaning
detectedOnchain transfer observed; awaiting confirmation
processingConfirmed; funds are being deployed into strategy positions
completedFully deployed; wallet balances updated
As deposits settle, the wallet’s globalWalletBalance and actualPositions update. Small deposits may remain as cash temporarily until it is economically worth deploying into yield positions.

List deposits

curl -X GET "$BASE_URL/v2/portfolio-wallets/$WALLET_ID/deposits?limit=25" \
  -H "Authorization: Bearer $BRAID_API_TOKEN"
Supports cursor-based pagination. See API Conventions for details.

Fetch a deposit by ID

curl -X GET "$BASE_URL/v2/portfolio-wallets/$WALLET_ID/deposits/$DEPOSIT_ID" \
  -H "Authorization: Bearer $BRAID_API_TOKEN"

Look up a deposit by transaction hash

If you only have the onchain transaction hash:
curl -X GET "$BASE_URL/v2/portfolio-wallets/$WALLET_ID/deposits/lookup?txHash=$TX_HASH" \
  -H "Authorization: Bearer $BRAID_API_TOKEN"
To scope the lookup to a specific chain (recommended when available):
curl -X GET "$BASE_URL/v2/portfolio-wallets/$WALLET_ID/deposits/lookup?txHash=$TX_HASH&chain=arbitrum" \
  -H "Authorization: Bearer $BRAID_API_TOKEN"

Deposit webhooks

Subscribe to portfolio_wallet.deposit.status_changed to be notified when a deposit changes status. See Webhooks for registration and payload details.