Manage Funding Sources
Add a funding source to a managed balance
To add a funding source to a managed balance, send a PUT /treasury/v1/managed-balances/{managedBalanceId}/eligible-sources/{sourceId}
request with the following path parameters:
Parameter | Required | Description |
---|---|---|
managedBalanceId | ✓ | ID of the target managed balance (e.g. ag_layer1_usdt ). |
sourceId | ✓ | ID of the source managed balance (e.g. ag_kraken_usdt ). |
In the request body, specify the following parameters:
{
"intermediaries": [
"bvnk_ethereum_usdt"
],
"priority": 2
}
Here,
intermediaries
are bridge services (such as exchanges or managed balances) used when direct transfers aren’t possible—especially across networks. For example, to move USDT from Tron to Ethereum, an intermediary like Kraken can receive the funds on one chain and issue them on another. They can also be used on the same network for routing, compliance, or control.priority
is a numerical ranking of eligible sources:1
is tried first, then2
, and so on. Use it to select a source when multiple sources have sufficient balance to fulfil the transfer.
In the successful response, you receive the updated managed balance information.
{
"id": "bvnk_tron_usdt",
"name": "Main USDT Wallet",
"remoteWalletMetadata": {
"balanceId": "550e8400-e29b-41d4-a716-446655440000",
"addressId": "550e8400-e29b-41d4-a716-446655440000",
"address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
"assetPoolId": "550e8400-e29b-41d4-a716-446655440000",
"network": "TRON",
"tag": 12345,
"type": "LAYER1_MASTER_ADDRESS"
},
"eligibleSourcesAndIntermediaries": {
"bvnk_ethereum_usdt": [
"bvnk_tron_usdt"
],
"bvnk_kraken_btc": []
},
"thresholds": {
"minBalance": 500000,
"warningBalance": 800000,
"targetBalance": 1000000,
"minBalanceWindowWidth": 2,
"warningBalanceWindowWidth": 3,
"targetBalanceWindowWidth": 6,
"minBalanceBufferFactor": 0.2,
"transferOperationHardTimeout": "PT1H"
},
"monitoringEnabled": true,
"forecastEnabled": true
}
Remove a funding source from a managed balance
To remove a funding source from a managed balance, send a DELETE /treasury/v1/managed-balances/{managedBalanceId}/eligible-sources/{sourceId}
request with the following path parameters:
Parameter | Required | Description |
---|---|---|
managedBalanceId | ✓ | ID of the target managed balance. |
sourceId | ✓ | ID of the source managed balance. |
Successful removal returns HTTP 204 No Content
.
Use case example
Morgan, head of treasury at TranStar, spotted a warning on her dashboard: the company’s wallet (bvnk_tron_usdt
) was running low. This wallet funded daily payouts across Southeast Asia, and any delay could halt operations on the ground.
She quickly checked available balances. Their bvnk_ethereum_usdt
wallet had more than enough USDT—but TRON and Ethereum are separate networks. A direct transfer wasn’t possible.
Morgan used Layer1’s intermediary feature to solve it. She configured bvnk_ethereum_usdt
as a funding source for bvnk_tron_usdt
and listed Kraken
as the intermediary. That told the system to:
- Pull funds from Ethereum.
- Route them through the
Kraken
exchange or internal liquidity path. - Deliver them as USDT on the TRON network.
Within minutes, the balance was topped up, and payments resumed.
Morgan smiled. No panic, no delays—just smart routing, exactly when it was needed.
Updated 8 days ago