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:

ParameterRequiredDescription
managedBalanceIdID of the target managed balance (e.g. ag_layer1_usdt).
sourceIdID 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, then 2, 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:

ParameterRequiredDescription
managedBalanceIdID of the target managed balance.
sourceIdID 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.