Ground-Event-Id, Ground-Event-Type, and Ground-Signature are sent separately.
portfolio_wallet.status_changed
{
"event": "portfolio_wallet.status_changed",
"organizationId": "43c78f4f-44a7-45ff-a524-8f010f7a4c72",
"walletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"previousStatus": "idle",
"status": "rebalance_active",
"occurredAt": "2026-02-05T10:28:00.000Z"
}
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",
"token": "usdc",
"chain": "ethereum",
"fromAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"txHash": "0xabc123...",
"status": "completed",
"createdAt": "2026-02-05T09:40:00.000Z",
"completedAt": "2026-02-05T09:45:00.000Z"
}
}
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",
"amountRequestedUsd": "65000.000000",
"amountPaidUsd": null,
"feeUsd": "0.000000",
"destinationChain": "ethereum",
"destinationAddress": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"destinationToken": "usdc",
"status": "processing",
"legsCompleted": 0,
"legsTotal": 1,
"payoutLegs": [
{
"status": "pending_customer_approval",
"amountUsd": "65000.000000",
"from": { "kind": "yield_source", "id": "morpho-gauntlet-usdc", "label": "Morpho Gauntlet USDC Prime" },
"to": { "kind": "external_payout", "id": "external_payout:ethereum:usdc", "label": "External payout (Ethereum)" },
"startedAt": "2026-02-05T11:01:00.000Z",
"completedAt": null,
"stepsCompleted": 1,
"stepsTotal": 2,
"steps": [
{
"name": "Redeeming from Morpho Gauntlet USDC Prime",
"chain": "ethereum",
"state": "completed",
"txKind": "yield_source_redeem",
"stepKind": "yield_source_redeem",
"startedAt": "2026-02-05T11:01:00.000Z",
"completedAt": "2026-02-05T11:02:00.000Z",
"cancelledAt": null,
"stepOrdinal": 0,
"protocolType": "morpho",
"sequenceRole": "yield_redeem"
},
{
"name": "Sending payout",
"chain": "ethereum",
"state": "pending_customer_approval",
"txKind": "external_payout_transfer",
"stepKind": "external_payout_transfer",
"startedAt": "2026-02-05T11:03:00.000Z",
"completedAt": null,
"cancelledAt": null,
"stepOrdinal": 1,
"protocolType": "external_payout",
"sequenceRole": "external_payout_transfer"
}
]
}
],
"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": "4f70f27a-760c-45f1-8ac9-01878d8d2d6c",
"status": "completed",
"turnkeyActivityId": null,
"approvalRequestedAt": null,
"approvalValidBefore": null,
"amountUsd": "35000.000000",
"feeUsd": "0.000000",
"txHash": "0xabc123...",
"failureReason": null,
"steps": [
{
"name": "Redeeming from Syrup USDC",
"stepKind": "syrup_request_redeem",
"sequenceRole": "yield_redeem",
"protocolType": "syrup",
"stepOrdinal": 0,
"chain": "ethereum",
"txKind": "yield_source_redeem",
"state": "completed",
"startedAt": "2026-02-05T12:35:00.000Z",
"completedAt": "2026-02-05T12:36:00.000Z",
"cancelledAt": null
},
{
"name": "Sending payout",
"stepKind": "external_payout_transfer",
"sequenceRole": "external_payout_transfer",
"protocolType": "external_payout",
"stepOrdinal": 1,
"chain": "ethereum",
"txKind": "external_payout_transfer",
"state": "completed",
"startedAt": "2026-02-05T12:38:00.000Z",
"completedAt": "2026-02-05T12:40:00.000Z",
"cancelledAt": null
}
],
"createdAt": "2026-02-05T12:34:00.000Z",
"completedAt": "2026-02-05T12:40:00.000Z"
}
}
portfolio_wallet.strategy.status_changed
{
"event": "portfolio_wallet.strategy.status_changed",
"observedAt": "2026-02-05T09:30:00.000Z",
"strategy": {
"walletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"requestId": "6d74dc1c-f1b5-4f2c-8f33-9f7b9e27cd4b",
"status": "completed",
"allocations": [
{ "yieldSourceId": "syrup-usdc", "pct": 40 },
{ "yieldSourceId": "morpho-gauntlet-usdc", "pct": 30 },
{ "yieldSourceId": "morpho-steakhouse-usdc", "pct": 30 }
],
"createdAt": "2026-02-05T09:29:00.000Z"
}
}
portfolio_wallet.rebalance.status_changed
{
"event": "portfolio_wallet.rebalance.status_changed",
"observedAt": "2026-02-05T10:30:00.000Z",
"rebalance": {
"id": "b6c7d8e9-1234-4abc-8def-0123456789ab",
"status": "processing",
"reason": "deposit_deployment",
"amountUsd": "50000.000000",
"legsCompleted": 0,
"legsTotal": 2,
"rebalanceLegs": [
{
"status": "processing",
"amountUsd": "25000.000000",
"from": { "kind": "cash", "id": "cash:ethereum:usdc", "label": "Cash (Ethereum)" },
"to": { "kind": "yield_source", "id": "morpho-gauntlet-usdc", "label": "Morpho Gauntlet USDC Prime" },
"startedAt": "2026-02-05T10:29:00.000Z",
"completedAt": null,
"stepsCompleted": 0,
"stepsTotal": 1,
"steps": [
{
"name": "Depositing into Morpho Gauntlet USDC Prime",
"chain": "ethereum",
"state": "processing",
"txKind": "yield_source_deposit",
"stepKind": "yield_source_deposit",
"startedAt": "2026-02-05T10:29:00.000Z",
"completedAt": null,
"cancelledAt": null,
"stepOrdinal": 0,
"protocolType": "morpho",
"sequenceRole": "yield_deposit"
}
]
}
],
"failureReason": null,
"createdAt": "2026-02-05T10:28:00.000Z",
"startedAt": "2026-02-05T10:29:00.000Z",
"completedAt": null
}
}
portfolio_wallet.risk.alert.triggered
{
"event": "portfolio_wallet.risk.alert.triggered",
"organizationId": "43c78f4f-44a7-45ff-a524-8f010f7a4c72",
"portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"riskAlertId": "8f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskRuleId": "1f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"yieldSourceId": "morpho-gauntlet-usdc",
"metric": "apy_bps",
"ruleKind": "threshold",
"comparator": "lt",
"thresholdValue": 300,
"observedValue": 275,
"baselineValue": null,
"observedChangeBps": null,
"windowSeconds": null,
"status": "triggered",
"metricsObservationId": "5d0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"triggeredAt": "2026-02-05T10:30:00.000Z",
"explanation": {
"message": "APY fell below threshold"
}
}
portfolio_wallet.risk.alert.resolved
{
"event": "portfolio_wallet.risk.alert.resolved",
"organizationId": "43c78f4f-44a7-45ff-a524-8f010f7a4c72",
"portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"riskAlertId": "8f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskRuleId": "1f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"yieldSourceId": "morpho-gauntlet-usdc",
"metric": "apy_bps",
"ruleKind": "threshold",
"comparator": "lt",
"thresholdValue": 300,
"observedValue": 325,
"baselineValue": null,
"observedChangeBps": null,
"windowSeconds": null,
"status": "resolved",
"metricsObservationId": "5d0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"triggeredAt": "2026-02-05T10:30:00.000Z",
"resolvedAt": "2026-02-05T11:30:00.000Z",
"resolutionSource": "metric_recovered",
"resolutionNote": "APY recovered above threshold",
"explanation": {}
}
portfolio_wallet.risk.action.status_changed
{
"event": "portfolio_wallet.risk.action.status_changed",
"organizationId": "43c78f4f-44a7-45ff-a524-8f010f7a4c72",
"portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"riskActionId": "6f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskAlertId": "8f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskRuleId": "1f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"yieldSourceId": "morpho-gauntlet-usdc",
"outcome": "exit_position",
"approvalMode": "automatic",
"previousStatus": "pending_auto_execution",
"status": "executing",
"attemptCount": 1,
"executionVersion": 1,
"rebalanceId": "7f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"changedAt": "2026-02-05T10:31:00.000Z",
"executionError": null,
"explanation": {}
}
portfolio_wallet.risk.unwind.completed
{
"event": "portfolio_wallet.risk.unwind.completed",
"organizationId": "43c78f4f-44a7-45ff-a524-8f010f7a4c72",
"portfolioWalletId": "9d1a1c83-3a1c-4c14-9c5a-0c9a57a4a7db",
"riskActionId": "6f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskAlertId": "8f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"riskRuleId": "1f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"rebalanceId": "7f0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"yieldSourceId": "morpho-gauntlet-usdc",
"yieldSourceName": "Morpho Gauntlet USDC Prime",
"completedRebalanceLegId": "2b0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"completedSourceAccountId": "morpho-gauntlet-usdc",
"cashDestinationAccountId": "cash:ethereum:usdc",
"cashDestinationChain": "ethereum",
"cashDestinationToken": "usdc",
"completedAmountNativeUnits": "25000000000",
"completedAt": "2026-02-05T10:45:00.000Z",
"eventId": "3c0d1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"occurredAt": "2026-02-05T10:45:00.000Z",
"explanation": {
"message": "Exited Morpho Gauntlet USDC Prime to cash after APY alert"
}
}