Skip to main content
Below are example JSON bodies for each event type. Headers like Braid-Event-Id, Braid-Event-Type, and Braid-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",
    "requestId": "0b7e3b4d-88a5-4a75-8c0f-3b7b4f9d9f1d",
    "label": "Treasury Portfolio",
    "status": "active",
    "createdAt": "2026-02-05T08:15:00.000Z",
    "updatedAt": "2026-02-05T10:05:00.000Z",
    "strategyConfig": {
      "positions": [
        {
          "positionKey": "tbills",
          "targetWeightBps": 6000,
          "maxProcessingTime": "PT0H",
          "asset": "tbills"
        },
        {
          "positionKey": "resolvRlp",
          "targetWeightBps": 4000,
          "maxProcessingTime": "PT24H",
          "asset": "rlp"
        }
      ]
    },
    "totalBalanceUsd": 82500,
    "instantWithdrawableUsd": 52500,
    "pendingAllocationsUsd": 0,
    "liquidityProfile": [
      {
        "maxProcessingTime": "PT0H",
        "weightBps": 6000
      },
      {
        "maxProcessingTime": "PT24H",
        "weightBps": 4000
      }
    ],
    "blendedRateBps": 565,
    "positions": [
      {
        "positionKey": "tbills",
        "asset": "tbills",
        "maxProcessingTime": "PT0H",
        "targetWeightBps": 6000,
        "balanceUnits": 52500,
        "valueUsd": 52500,
        "rateBps": 350
      },
      {
        "positionKey": "resolvRlp",
        "asset": "rlp",
        "maxProcessingTime": "PT24H",
        "targetWeightBps": 4000,
        "balanceUnits": 25000,
        "valueUsd": 30000,
        "rateBps": 780
      }
    ]
  }
}

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",
    "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "status": "processing",
    "failureReason": null,
    "chain": "ethereum",
    "token": "usdc",
    "amount": 50000,
    "txHash": null,
    "createdAt": "2026-02-05T09:40:00.000Z",
    "updatedAt": "2026-02-05T09:45:00.000Z",
    "completedAt": null,
    "legStatuses": {
      "tbills": "completed",
      "resolvRlp": "processing"
    }
  }
}

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",
    "requestId": "df8b7be6-e110-4f6d-9b2d-7c44a5b1f0b0",
    "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "status": "partially_completed",
    "failureReason": null,
    "withdrawalAmount": 65000,
    "destinationToken": "usdc",
    "destinationChain": "ethereum",
    "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "plannedLegs": [
      {
        "legKey": "instant",
        "amountUsd": 35000,
        "sourcePositionKey": "tbills"
      },
      {
        "legKey": "redeem",
        "amountUsd": 30000,
        "sourcePositionKey": "resolvRlp"
      }
    ],
    "legStatuses": {
      "instant": "completed",
      "redeem": "processing"
    },
    "createdAt": "2026-02-05T11:00:00.000Z",
    "updatedAt": "2026-02-05T11:05: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",
    "withdrawalId": "11b17950-1f5c-4d36-8f0d-0f3d1d0c6a45",
    "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "legKey": "instant",
    "status": "completed",
    "amount": 35000,
    "token": "usdc",
    "chain": "ethereum",
    "destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "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": {
    "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "positionKey": "tbills",
    "asset": "tbills",
    "maxProcessingTime": "PT0H",
    "targetWeightBps": 6000,
    "balanceUnits": 52500,
    "valueUsd": 52500,
    "rateBps": 350
  }
}

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",
    "portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
    "requestId": "6d74dc1c-f1b5-4f2c-8f33-9f7b9e27cd4b",
    "status": "completed",
    "turnkeyActivityId": "activity-8f8c1b7f3b24",
    "strategyConfig": {
      "positions": [
        {
          "positionKey": "tbills",
          "targetWeightBps": 5000,
          "maxProcessingTime": "PT0H",
          "asset": "tbills"
        },
        {
          "positionKey": "resolvRlp",
          "targetWeightBps": 5000,
          "maxProcessingTime": "PT24H",
          "asset": "rlp"
        }
      ]
    },
    "createdAt": "2026-02-05T09:29:00.000Z"
  }
}