Treasury & Liquidity Management

Hold balances across multiple currencies, sweep funds between wallets, and convert currencies using spot FX or OTC deals for corporate treasury operations.

Treasury & Liquidity Management

Use this flow when your treasury team needs to hold balances across multiple currencies, sweep funds between wallets, and convert between currencies for hedging or settlement.

✅ Before you start

Complete these steps before you operate the treasury flow:

  1. Authenticate with the merged Login service and store the returned token and companyId.
  2. Identify the currencies you need to hold, collect, and convert across.
  3. Create wallets for each treasury currency you plan to operate in.
  4. Register webhook endpoints so you can reconcile inbound receives, FX trade completions, and outbound transfers.
  5. Decide your thresholds for sweeps and FX conversion triggers.

📚 Use this page with the recipe

This guide explains when to use the treasury flow and the minimum sequence. For the implementation walkthrough, use the recipe:

Treasury & Liquidity Management Recipe →


The treasury workflow

This use case follows a simple sequence:

  1. Hold balances in multi-currency wallets sized to your operational thresholds.
  2. Monitor wallet balances with Get all Wallets and reconcile against statements.
  3. Get an FX rate and execute a trade with Get FX rate and Create FX trade when a currency needs conversion.
  4. Use OTC deals when conversion size warrants a negotiated rate. Track deals through the OTC Deals API.
  5. Reconcile each FX trade or OTC deal through to settlement before treating the converted balance as available.

What makes this use case different?

Unlike one-off conversion flows, treasury operations need to:

  • operate across many currencies in parallel
  • reconcile balances against external statements continuously
  • use the vfx_token lifecycle correctly because rates are short-lived
  • support both spot FX trades and OTC deals depending on size and strategy

Where to go deeper

Troubleshooting

IssueWhat to check
Balance does not match the statementReconcile only from completed receive, FX, and outbound events; deduplicate webhooks by event ID.
FX trade cannot be bookedConfirm the vfx_token is still valid and the source wallet has enough availableBalance.
Currency is not holdableCheck the corridor in Currency Guides; some currencies are payout-only or non-holdable.
OTC deal does not appearFilter by status, currency, and date with the OTC Deals API, and confirm the deal was opened against the expected account.

Next steps

FX Conversion Guide →
Run a complete FX trade from rate to settlement.
OTC Deals →
Track larger negotiated conversions through the OTC Deals API.