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_idfield 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:
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: nullclears 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 amount | When the BlindPay fee is charged | Field on the payin |
|---|---|---|
| Below $100.00 | End of the billing cycle, on your monthly invoice | billing_fee_amount |
| $100.00 or more | At the time of the transaction, deducted from the delivered amount | transaction_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
- Virtual accounts guide: fee rules, account types, and statuses
- Partner fees guide: defaults vs. per-account pins for virtual accounts, and quotes
- Create a virtual account: full request reference