Skip to main content
Below are example JSON bodies for each event type. Headers like Ground-Event-Id, Ground-Event-Type, and Ground-Signature are sent separately.

portfolio_wallet.balance.updated

{
  "event": "portfolio_wallet.balance.updated",
  "observedAt": "2026-02-05T10:05:00.000Z",
  "wallet": {
    "id": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "label": "Treasury Portfolio",
    "createdAt": "2026-02-05T08:15:00.000Z",
    "depositAddresses": {
      "arbitrum": "0x21246509968c4d24611f414560971AEc2e3A079B",
      "base": "0x21246509968c4d24611f414560971AEc2e3A079B",
      "ethereum": "0x21246509968c4d24611f414560971AEc2e3A079B",
      "polygon": "0x21246509968c4d24611f414560971AEc2e3A079B",
      "solana": "7nYzKxM3bP4oEFbqkPmA5E2rYJ8HqKz8vFg9abc1"
    },
    "balance": {
      "totalUsd": "82500.000000",
      "withdrawableUsd": "82500.000000",
      "pendingWithdrawalUsd": "0.000000",
      "inTransitUsd": "0.000000",
      "earnedUsd": "250.000000"
    },
    "positions": [
      {
        "yieldSourceId": "resolv-lp",
        "name": "Resolv LP",
        "valueUsd": "33000.000000",
        "pct": 40
      },
      {
        "yieldSourceId": "usdz",
        "name": "T-Bills (M0)",
        "valueUsd": "49500.000000",
        "pct": 60
      }
    ]
  }
}

portfolio_wallet.deposit.status_changed

{
  "event": "portfolio_wallet.deposit.status_changed",
  "observedAt": "2026-02-05T09:45:00.000Z",
  "deposit": {
    "id": "2a3ad0af-11b3-41d5-96c5-2b9d8799f1e2",
    "amount": "50000.000000",
    "chain": "ethereum",
    "fromAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "txHash": null,
    "status": "processing",
    "createdAt": "2026-02-05T09:40:00.000Z",
    "completedAt": null
  }
}

portfolio_wallet.withdrawal.status_changed

{
  "event": "portfolio_wallet.withdrawal.status_changed",
  "observedAt": "2026-02-05T11:05:00.000Z",
  "withdrawal": {
    "id": "11b17950-1f5c-4d36-8f0d-0f3d1d0c6a45",
    "amountUsd": "65000.000000",
    "feeUsd": "0.000000",
    "destinationChain": "ethereum",
    "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "status": "processing",
    "txHash": null,
    "payouts": [
      {
        "id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
        "yieldSourceId": "resolv-lp",
        "status": "processing",
        "turnkeyActivityId": null,
        "approvalRequestedAt": null,
        "approvalValidBefore": null,
        "amount": 30000,
        "token": "usdc",
        "chain": "ethereum",
        "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
        "txHash": null,
        "failureReason": null,
        "createdAt": "2026-02-05T11:01:00.000Z",
        "updatedAt": "2026-02-05T11:03:00.000Z"
      },
      {
        "id": "0c7c6fcb-3c49-4f6d-9a8d-1d2b8d1ef7b0",
        "yieldSourceId": "usdz",
        "status": "completed",
        "turnkeyActivityId": null,
        "approvalRequestedAt": null,
        "approvalValidBefore": null,
        "amount": 35000,
        "token": "usdc",
        "chain": "ethereum",
        "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
        "txHash": "0xabc123...",
        "failureReason": null,
        "createdAt": "2026-02-05T11:01:00.000Z",
        "updatedAt": "2026-02-05T11:05:00.000Z"
      }
    ],
    "failureReason": null,
    "createdAt": "2026-02-05T11:00:00.000Z",
    "completedAt": null
  }
}

portfolio_wallet.withdrawal.payout.status_changed

{
  "event": "portfolio_wallet.withdrawal.payout.status_changed",
  "observedAt": "2026-02-05T12:40:00.000Z",
  "payout": {
    "id": "0c7c6fcb-3c49-4f6d-9a8d-1d2b8d1ef7b0",
    "yieldSourceId": "usdz",
    "status": "completed",
    "turnkeyActivityId": null,
    "approvalRequestedAt": null,
    "approvalValidBefore": null,
    "amount": 35000,
    "token": "usdc",
    "chain": "ethereum",
    "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "txHash": "0xabc123...",
    "failureReason": null,
    "createdAt": "2026-02-05T12:39:00.000Z",
    "updatedAt": "2026-02-05T12:40:00.000Z"
  }
}

portfolio_wallet.position.updated

{
  "event": "portfolio_wallet.position.updated",
  "observedAt": "2026-02-05T10:20:00.000Z",
  "position": {
    "walletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "yieldSourceId": "usdz",
    "name": "T-Bills (M0)",
    "valueUsd": "52500.000000",
    "pct": 60
  }
}

portfolio_wallet.strategy.status_changed

{
  "event": "portfolio_wallet.strategy.status_changed",
  "observedAt": "2026-02-05T09:30:00.000Z",
  "strategy": {
    "id": "7b21a5e9-1f4a-4a79-b0fa-6a2a36b032b2",
    "walletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "requestId": "6d74dc1c-f1b5-4f2c-8f33-9f7b9e27cd4b",
    "status": "completed",
    "allocations": [
      { "yieldSourceId": "resolv-lp", "pct": 50 },
      { "yieldSourceId": "usdz", "pct": 50 }
    ],
    "createdAt": "2026-02-05T09:29:00.000Z"
  }
}