Fund management

Balance accounts, reserve accounts, internal transfers, and sweep rules for managing sub-merchant funds.

View as MarkdownInstall skills

Every sub-merchant on your platform gets a balance account — a virtual ledger where their split proceeds accumulate before being paid out to their bank account. Your platform account also has a balance account for your own earnings.

Account structureAsk

Platform account (liable account)
├── Platform balance account          ← platform commission lands here
├── Reserve account                   ← held funds buffer
└── Sub-merchant accounts
    ├── Sub-merchant A balance account
    ├── Sub-merchant B balance account
    └── ...

Balance accounts

A balance account holds settled funds for a single entity. Funds arrive via:

  • Payment splits (sub-merchant share)
  • Internal transfers from the platform
  • Top-ups (funds added by the platform on behalf of the sub-merchant)

Funds leave via:

  • Payouts to the sub-merchant's bank account
  • Internal transfers to the platform or other balance accounts
  • Refunds and chargeback reversals

Reserve accounts

A reserve account is a separate ledger used to hold back a portion of funds as a risk buffer. The platform sets a reserve policy (percentage or fixed amount) and VINR withholds that amount from payouts until the reserve target is met.

Use reserves to:

  • Cover potential chargeback liability from sub-merchants with elevated dispute rates
  • Hold funds during new sub-merchant probationary periods
  • Meet regulatory requirements in certain markets
POST /v1/platform/sub-merchants/{id}/reserve-policy
{
  "type": "percentage",
  "percentage": 10,
  "holding_days": 90
}

Internal transfersAsk

Move funds between balance accounts within your platform without triggering a bank-level payout:

POST /v1/platform/transfers
{
  "from_balance_account": "ba_platform",
  "to_balance_account":   "ba_seller_abc",
  "amount": 5000,
  "currency": "USD",
  "description": "Bonus payment"
}

Use cases:

  • Pay bonuses or incentives to sub-merchants
  • Correct a mis-split from a prior payment
  • Top up a sub-merchant account in advance of a high-volume period

Sweeps (automated fund movement)Ask

A sweep rule automatically moves funds between balance accounts on a schedule. Configure them to:

  • Transfer sub-merchant earnings to their payout balance daily
  • Replenish reserve accounts from incoming settlements
  • Zero out temporary holding accounts at end of day
POST /v1/platform/balance-accounts/{id}/sweeps
{
  "schedule": { "type": "daily", "time": "22:00" },
  "target_balance_account": "ba_platform_main",
  "sweep_type": "pull",
  "trigger": "balance_exceeds",
  "trigger_amount": 0
}

Sweep types: push (source → target) and pull (target draws from source).


Top-upsAsk

Add funds to a sub-merchant's balance account directly from the platform — for example, to pre-fund a merchant before they've earned enough to cover a payout:

POST /v1/platform/sub-merchants/{id}/top-ups
{
  "amount": 10000,
  "currency": "USD",
  "source": "ba_platform"
}

Balance webhooksAsk

EventTrigger
balance_account.balance.updatedBalance changes (credit or debit)
balance_account.sweep.completedSweep executed successfully
balance_account.sweep.failedSweep failed (insufficient funds)
reserve_account.threshold_reachedReserve target met

Next stepsAsk

  • Payouts — how funds move from balance accounts to bank accounts
  • Split payments — how funds arrive in balance accounts
Was this page helpful?

On this page