Skip to main content

Automate Treasury Top-Ups

Smart Treasury keeps your operational wallets funded automatically. Define target balances, thresholds, and funding sources — the system handles the rest.

Quick Start

1. Create a Managed Balance

Define what you want to keep funded:

POST /api/v1/managed-balance

{
"name": "USDC Hot Wallet - Payouts",
"assetPoolId": "hot-wallet-pool",
"asset": "USDC",
"targetBalance": 50000,
"minThreshold": 10000,
"maxThreshold": 100000
}

2. Add Funding Sources

Define where top-up funds come from:

PUT /api/v1/managed-balance/{id}/funding-source

{
"sourceType": "ASSET_POOL",
"sourceId": "reserve-pool-uuid",
"priority": 1
}

Multiple sources can be added with priority ordering. If the primary source is insufficient, the next source is used.

3. Enable and Monitor

The managed balance is now active. When the USDC balance drops below 10,000, Smart Treasury will automatically top up to 50,000 from your reserve pool.

Managed Balances

A managed balance tracks a specific asset in a specific pool and ensures it stays within defined thresholds.

PropertyDescription
targetBalanceAmount to restore to when top-up triggers
minThresholdTrigger point — top-up when below this
maxThresholdCap — never exceed this amount
enabledActive or paused

List Managed Balances

GET /api/v1/managed-balance

Manage Funding Sources

Funding sources define where top-up funds originate. They are tried in priority order.

Source TypeDescription
ASSET_POOLAnother asset pool (may trigger conversion)
VENUEA connected trading venue

View and Adjust Balance

Manual Top-Up

Trigger an immediate top-up without waiting for the threshold:

POST /api/v1/balance-adjustment

{
"managedBalanceId": "mb-uuid",
"amount": 25000
}

Update Thresholds

PATCH /api/v1/managed-balance/{id}/thresholds

{
"minThreshold": 15000,
"targetBalance": 75000
}

Predict Top-Ups

Based on historical balance trends, the system can predict when the next top-up will be needed. View predictions in the portal under Treasury > Managed Balances > Predictions.

Receive Notifications

Subscribe to treasury events:

POST /api/v1/hook/destination

{
"url": "https://yourserver.com/webhooks/treasury",
"events": ["balance.*"]
}

View the activity log for a specific managed balance:

GET /api/v1/managed-balance/{id}/activity-log

Next Steps