[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"content-\u002Fchangelog\u002F2026-08-16-virtual-account-partner-fees-and-micro-deposits":3},{"id":4,"title":5,"author":6,"body":7,"categories":6,"category":320,"categoryType":321,"date":322,"description":323,"extension":324,"faq":6,"howto":6,"isBlog":325,"isChangelog":326,"meta":327,"navigation":326,"path":332,"rawbody":333,"seo":334,"stem":335,"thumbnail":6,"__hash__":336},"content\u002Fchangelog\u002F2026-08-16-virtual-account-partner-fees-and-micro-deposits.md","Per-account partner fees, micro-deposits, and amount-based fee timing on virtual accounts",null,{"type":8,"value":9,"toc":312},"minimark",[10,14,19,45,49,52,58,158,161,188,191,195,198,201,205,208,255,261,265,274,280,284,308],[11,12,13],"p",{},"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.",[15,16,18],"h2",{"id":17},"tldr","TL;DR",[20,21,22,31,34],"ul",{},[23,24,25,26,30],"li",{},"New ",[27,28,29],"code",{},"partner_fee_id"," field on virtual account create and update: pin a partner fee to one account, overriding the instance-wide default",[23,32,33],{},"Every deposit now creates a payin, including $0.01 account-verification micro-deposits; at least $0.01 always reaches the linked wallet",[23,35,36,37,40,41,44],{},"BlindPay fees on deposits below $100.00 accrue to your monthly invoice (",[27,38,39],{},"billing_fee_amount","); deposits of $100.00 and above are charged at transaction time (",[27,42,43],{},"transaction_fee_amount",")",[15,46,48],{"id":47},"partner-fees-per-virtual-account","Partner fees per virtual account",[11,50,51],{},"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.",[11,53,54,55,57],{},"Pass ",[27,56,29],{}," when creating a virtual account, or set it later with the update endpoint:",[59,60,65],"pre",{"className":61,"code":62,"language":63,"meta":64,"style":64},"language-bash shiki shiki-themes github-light","curl --request POST \\\n  --url https:\u002F\u002Fapi.blindpay.com\u002Fv1\u002Finstances\u002Fin_000000000000\u002Fcustomers\u002Fre_000000000000\u002Fvirtual-accounts \\\n  --header 'Authorization: Bearer YOUR_API_KEY' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"banking_partner\": \"cfsb\",\n    \"token\": \"USDC\",\n    \"blockchain_wallet_id\": \"bw_000000000000\",\n    \"partner_fee_id\": \"pf_000000000000\"\n  }'\n","bash","",[27,66,67,87,98,109,119,128,134,140,146,152],{"__ignoreMap":64},[68,69,72,76,80,84],"span",{"class":70,"line":71},"line",1,[68,73,75],{"class":74},"s7eDp","curl",[68,77,79],{"class":78},"sYu0t"," --request",[68,81,83],{"class":82},"sYBdl"," POST",[68,85,86],{"class":78}," \\\n",[68,88,90,93,96],{"class":70,"line":89},2,[68,91,92],{"class":78},"  --url",[68,94,95],{"class":82}," https:\u002F\u002Fapi.blindpay.com\u002Fv1\u002Finstances\u002Fin_000000000000\u002Fcustomers\u002Fre_000000000000\u002Fvirtual-accounts",[68,97,86],{"class":78},[68,99,101,104,107],{"class":70,"line":100},3,[68,102,103],{"class":78},"  --header",[68,105,106],{"class":82}," 'Authorization: Bearer YOUR_API_KEY'",[68,108,86],{"class":78},[68,110,112,114,117],{"class":70,"line":111},4,[68,113,103],{"class":78},[68,115,116],{"class":82}," 'Content-Type: application\u002Fjson'",[68,118,86],{"class":78},[68,120,122,125],{"class":70,"line":121},5,[68,123,124],{"class":78},"  --data",[68,126,127],{"class":82}," '{\n",[68,129,131],{"class":70,"line":130},6,[68,132,133],{"class":82},"    \"banking_partner\": \"cfsb\",\n",[68,135,137],{"class":70,"line":136},7,[68,138,139],{"class":82},"    \"token\": \"USDC\",\n",[68,141,143],{"class":70,"line":142},8,[68,144,145],{"class":82},"    \"blockchain_wallet_id\": \"bw_000000000000\",\n",[68,147,149],{"class":70,"line":148},9,[68,150,151],{"class":82},"    \"partner_fee_id\": \"pf_000000000000\"\n",[68,153,155],{"class":70,"line":154},10,[68,156,157],{"class":82},"  }'\n",[11,159,160],{},"How the two levels interact:",[20,162,163,171,178,185],{},[23,164,165,166,170],{},"A fee pinned to an account ",[167,168,169],"strong",{},"overrides the instance-wide default"," for that account's deposits.",[23,172,173,174,177],{},"Accounts without a pin keep using the instance-wide default (the fee configuration created with ",[27,175,176],{},"virtual_account_set: true","), so existing setups keep working unchanged.",[23,179,180,181,184],{},"Updating an account with ",[27,182,183],{},"partner_fee_id: null"," clears the pin and falls back to the default.",[23,186,187],{},"Deleting a fee configuration automatically unpins it from any accounts referencing it; those accounts revert to the default.",[11,189,190],{},"The dashboard's virtual account create dialog and edit pane both gained a partner fee selector.",[15,192,194],{"id":193},"micro-deposits-are-now-collected","Micro-deposits are now collected",[11,196,197],{},"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.",[11,199,200],{},"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.",[15,202,204],{"id":203},"when-blindpay-fees-are-charged","When BlindPay fees are charged",[11,206,207],{},"BlindPay fees on virtual account deposits now follow an amount-based rule:",[209,210,211,227],"table",{},[212,213,214],"thead",{},[215,216,217,221,224],"tr",{},[218,219,220],"th",{},"Deposit amount",[218,222,223],{},"When the BlindPay fee is charged",[218,225,226],{},"Field on the payin",[228,229,230,243],"tbody",{},[215,231,232,236,239],{},[233,234,235],"td",{},"Below $100.00",[233,237,238],{},"End of the billing cycle, on your monthly invoice",[233,240,241],{},[27,242,39],{},[215,244,245,248,251],{},[233,246,247],{},"$100.00 or more",[233,249,250],{},"At the time of the transaction, deducted from the delivered amount",[233,252,253],{},[27,254,43],{},[11,256,257,258,260],{},"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 ",[27,259,39],{},", regardless of amount.",[15,262,264],{"id":263},"what-you-need-to-do","What you need to do",[11,266,267,268,270,271,273],{},"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 ",[27,269,39],{}," and ",[27,272,43],{}," rather than assuming one of them.",[11,275,276,277,279],{},"To adopt per-account fees, create additional fee configurations and pass ",[27,278,29],{}," on virtual account create or update.",[15,281,283],{"id":282},"learn-more","Learn more",[20,285,286,294,301],{},[23,287,288,293],{},[289,290,292],"a",{"href":291},"\u002Fdocs\u002Fvirtual-accounts","Virtual accounts guide",": fee rules, account types, and statuses",[23,295,296,300],{},[289,297,299],{"href":298},"\u002Fdocs\u002Flearn\u002Fpartner-fees","Partner fees guide",": defaults vs. per-account pins for virtual accounts, and quotes",[23,302,303,307],{},[289,304,306],{"href":305},"\u002Fdocs\u002Fvirtual-accounts-create","Create a virtual account",": full request reference",[309,310,311],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":64,"searchDepth":89,"depth":89,"links":313},[314,315,316,317,318,319],{"id":17,"depth":89,"text":18},{"id":47,"depth":89,"text":48},{"id":193,"depth":89,"text":194},{"id":203,"depth":89,"text":204},{"id":263,"depth":89,"text":264},{"id":282,"depth":89,"text":283},"New Feature","feature","2026-08-16","Pin a partner fee to each virtual account, collect deposits of any size (including $0.01 micro-deposits), and a new rule for when BlindPay fees are charged: below $100 on your monthly invoice, $100 and above at transaction time.","md",false,true,{"excerpt":328},{"type":8,"value":329},[330],[11,331,13],{},"\u002Fchangelog\u002F2026-08-16-virtual-account-partner-fees-and-micro-deposits","---\ntitle: 'Per-account partner fees, micro-deposits, and amount-based fee timing on virtual accounts'\ndescription: 'Pin a partner fee to each virtual account, collect deposits of any size (including $0.01 micro-deposits), and a new rule for when BlindPay fees are charged: below $100 on your monthly invoice, $100 and above at transaction time.'\ndate: 2026-08-16\ncategory: New Feature\ncategoryType: feature\nisChangelog: true\n---\n\nVirtual 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.\n\n\u003C!--more-->\n\n## TL;DR\n\n- New `partner_fee_id` field on virtual account create and update: pin a partner fee to one account, overriding the instance-wide default\n- Every deposit now creates a payin, including $0.01 account-verification micro-deposits; at least $0.01 always reaches the linked wallet\n- 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`)\n\n## Partner fees per virtual account\n\nUntil 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.\n\nPass `partner_fee_id` when creating a virtual account, or set it later with the update endpoint:\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.blindpay.com\u002Fv1\u002Finstances\u002Fin_000000000000\u002Fcustomers\u002Fre_000000000000\u002Fvirtual-accounts \\\n  --header 'Authorization: Bearer YOUR_API_KEY' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"banking_partner\": \"cfsb\",\n    \"token\": \"USDC\",\n    \"blockchain_wallet_id\": \"bw_000000000000\",\n    \"partner_fee_id\": \"pf_000000000000\"\n  }'\n```\n\nHow the two levels interact:\n\n- A fee pinned to an account **overrides the instance-wide default** for that account's deposits.\n- 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.\n- Updating an account with `partner_fee_id: null` clears the pin and falls back to the default.\n- Deleting a fee configuration automatically unpins it from any accounts referencing it; those accounts revert to the default.\n\nThe dashboard's virtual account create dialog and edit pane both gained a partner fee selector.\n\n## Micro-deposits are now collected\n\nDeposits 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.\n\nBecause 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.\n\n## When BlindPay fees are charged\n\nBlindPay fees on virtual account deposits now follow an amount-based rule:\n\n| Deposit amount | When the BlindPay fee is charged | Field on the payin |\n| --- | --- | --- |\n| Below $100.00 | End of the billing cycle, on your monthly invoice | `billing_fee_amount` |\n| $100.00 or more | At the time of the transaction, deducted from the delivered amount | `transaction_fee_amount` |\n\nThis 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.\n\n## What you need to do\n\nNothing 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.\n\nTo adopt per-account fees, create additional fee configurations and pass `partner_fee_id` on virtual account create or update.\n\n## Learn more\n\n- [Virtual accounts guide](\u002Fdocs\u002Fvirtual-accounts): fee rules, account types, and statuses\n- [Partner fees guide](\u002Fdocs\u002Flearn\u002Fpartner-fees): defaults vs. per-account pins for virtual accounts, and quotes\n- [Create a virtual account](\u002Fdocs\u002Fvirtual-accounts-create): full request reference\n",{"title":5,"description":323},"changelog\u002F2026-08-16-virtual-account-partner-fees-and-micro-deposits","QI2O9IxsCVN0V9GC64fKMxsziWouIV0rEDNjC8DpscE",1786947891457]