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.
partner_fee_id field on virtual account create and update: pin a partner fee to one account, overriding the instance-wide defaultbilling_fee_amount); deposits of $100.00 and above are charged at transaction time (transaction_fee_amount)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:
virtual_account_set: true), so existing setups keep working unchanged.partner_fee_id: null clears the pin and falls back to the default.The dashboard's virtual account create dialog and edit pane both gained a partner fee selector.
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.
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.
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.