Skip to main content
Polling is a good fit when you want a periodic reconciliation job (for example, every 1-5 minutes) and can tolerate some delay compared to webhooks.

List wallets

cURL
curl -X GET "$BASE_URL/v2/wallets?limit=25" \
  -H "Authorization: Bearer $GROUND_API_KEY"
Next page:
cURL
curl -X GET "$BASE_URL/v2/wallets?limit=25&cursor=$NEXT_CURSOR" \
  -H "Authorization: Bearer $GROUND_API_KEY"

Get a single wallet

cURL
curl -X GET "$BASE_URL/v2/wallets/$WALLET_ID" \
  -H "Authorization: Bearer $GROUND_API_KEY"

List deposits

cURL
curl -X GET "$BASE_URL/v2/wallets/$WALLET_ID/deposits?limit=50" \
  -H "Authorization: Bearer $GROUND_API_KEY"

Activity feed

The activity endpoint provides a unified, reverse-chronological feed of deposits and withdrawals for a wallet. This is useful for building transaction history views.
cURL
curl -X GET "$BASE_URL/v2/wallets/$WALLET_ID/activity?limit=20" \
  -H "Authorization: Bearer $GROUND_API_KEY"
Query parameters:
ParamDescription
limitMax items per page (default 20, max 100)
cursorOpaque cursor from nextCursor for pagination
typeFilter by activity type: deposit or withdrawal
Response:
{
  "activity": [
    {
      "id": "8f9720c1-2679-4d56-afc3-9b18edb83ce2",
      "type": "deposit",
      "amountUsd": "5000.000000",
      "timestamp": "2026-02-05T09:40:00.000Z",
      "detail": {
        "depositId": "8f9720c1-2679-4d56-afc3-9b18edb83ce2",
        "chain": "ethereum",
        "txHash": "0xabc123..."
      }
    },
    {
      "id": "11b17950-1f5c-4d36-8f0d-0f3d1d0c6a45",
      "type": "withdrawal",
      "amountUsd": "65000.000000",
      "timestamp": "2026-02-05T11:00:00.000Z",
      "detail": {
        "withdrawalId": "11b17950-1f5c-4d36-8f0d-0f3d1d0c6a45",
        "destinationChain": "ethereum",
        "status": "processing"
      }
    }
  ],
  "nextCursor": null,
  "hasMore": false
}
FieldDescription
activity[].idUnique ID (matches the underlying deposit or withdrawal ID)
activity[].type"deposit" or "withdrawal"
activity[].amountUsdAmount as a fixed-precision decimal string (6 decimal places)
activity[].timestampISO-8601 timestamp of when the activity occurred
activity[].detailType-specific metadata (see below)
nextCursorOpaque cursor for the next page, or null
hasMoreWhether more items exist beyond this page
Deposit detail fields: depositId, chain, txHash Withdrawal detail fields: withdrawalId, destinationChain, status

List withdrawals

Filter by status to monitor in-flight withdrawals:
cURL
curl -X GET "$BASE_URL/v2/wallets/$WALLET_ID/withdrawals?status=pending&status=processing&limit=50" \
  -H "Authorization: Bearer $GROUND_API_KEY"