Go Back

Per-account partner fees, micro-deposits, and amount-based fee timing on virtual accounts

Virtual accounts get three upgrades: partner fees can now be set per account instead of one setting for the whole instance, deposits of any size are processed (micro-deposits included), and BlindPay fees are charged on your invoice or at transaction time depending on the deposit amount.

TL;DR

  • New partner_fee_id field on virtual account create and update: pin a partner fee to one account, overriding the instance-wide default
  • Every deposit now creates a payin, including $0.01 account-verification micro-deposits; at least $0.01 always reaches the linked wallet
  • BlindPay fees on deposits below $100.00 accrue to your monthly invoice (billing_fee_amount); deposits of $100.00 and above are charged at transaction time (transaction_fee_amount)

Partner fees per virtual account

Until now, virtual accounts supported a single partner fee for the entire instance: one fee configuration flagged for virtual accounts applied to every account's deposits. You can now pin a fee to each account individually.

Pass partner_fee_id when creating a virtual account, or set it later with the update endpoint:

Bash

How the two levels interact:

  • A fee pinned to an account overrides the instance-wide default for that account's deposits.
  • Accounts without a pin keep using the instance-wide default (the fee configuration created with virtual_account_set: true), so existing setups keep working unchanged.
  • Updating an account with partner_fee_id: null clears the pin and falls back to the default.
  • Deleting a fee configuration automatically unpins it from any accounts referencing it; those accounts revert to the default.

The dashboard's virtual account create dialog and edit pane both gained a partner fee selector.

Micro-deposits are now collected

Deposits below $5.00 into a virtual account used to be ignored. Every deposit of any size now creates a payin, including the $0.01 account-verification micro-deposits sent by services like Plaid and Square, and always delivers at least $0.01 of stablecoin to the linked wallet.

Because fees can exceed a small deposit, partner fee collection is now partial rather than all-or-nothing: the fee collects as much as the deposit can bear while preserving the $0.01 delivery floor. A $5.00 fee on a $5.00 deposit collects $4.99; a micro-deposit collects nothing.

When BlindPay fees are charged

BlindPay fees on virtual account deposits now follow an amount-based rule:

Deposit amountWhen the BlindPay fee is chargedField on the payin
Below $100.00End of the billing cycle, on your monthly invoicebilling_fee_amount
$100.00 or moreAt the time of the transaction, deducted from the delivered amounttransaction_fee_amount

This keeps small deposits from being consumed by fees at transaction time while charging larger deposits immediately. Instances configured for end-of-month billing keep accruing every fee to billing_fee_amount, regardless of amount.

What you need to do

Nothing is required. Existing virtual accounts keep their behavior: the instance-wide partner fee still applies to accounts without a pin, and fee totals are unchanged, only the timing of when small-deposit fees are charged moves to the monthly invoice. If you reconcile payins, read both billing_fee_amount and transaction_fee_amount rather than assuming one of them.

To adopt per-account fees, create additional fee configurations and pass partner_fee_id on virtual account create or update.

Learn more