Introduction
Bridge allows developers to collect custom, per-transaction fees from their users. These developer fees are automatically withheld from the customer’s transaction amount and set aside in a ledger reserved for you. Fees are settled and paid out monthly on the 5th of each month to your configured external account. Bridge will collect developer fees in the original transaction currency but will always pay out in USD. You can use the Configure a fee External Account API to configure the external account you want to get paid out in.Fees are optional. Leaving the developer_fee or developer_fee_percent field blank is treated as a fee of 0.0.
Transfers
Transfers with fixed amounts
For transfers with a fixed amount, Bridge supports developer fees expressed in USD (as a fixed decimal amount). You can setdeveloper_fee in the API request
- Customer sends: $50.00
- Developer fee withheld: $0.50
- Amount delivered to destination: $49.50
| Input amount | Developer Fee | Net to Destination | Result |
|---|---|---|---|
| 99.99 | 0.99 | 99.00 | ✅ valid |
| 21.20 | 5.19 | 16.01 | ✅ valid |
| 5.00 | 5.00 | 0 | ❌ rejected |
| 5.00 | 5.01 | - | ❌ rejected |
- Currency:
developer_feeis denominated in USD, not a percentage. - Per-Transaction: You specify the fee with each request — allowing full control.
- Must have sufficient minimum: You cannot deduct more than the total transaction amount. After we deduct the fee, there must be enough for the transaction minimum. Refer Transaction Minimums.
- Precision: Up to 2 decimal places (e.g., 10.99 is valid, 10.999 is not).
- Destination amount: Always equal to amount - developer_fee.
- The fee is only valid on transactions where funds are transferred by Bridge (not to Bridge)
Transfers with flexible amounts
When you’re creating Transfers withflexible_amount enabled, only percentage-based fees are supported via the developer_fee_percent field.
- Customer sends: $100.00
- Developer fee withheld: $2
- Amount delivered to destination: $98
Virtual Accounts
When using Virtual Accounts, the exact amount of incoming funds is not known ahead of time. Developer fees may be specified as a percentage, using thedeveloper_fee_percent field, or for more granular control, fee_config may be used (In Beta, available by request only. See below.)
- The fee is always in the source currency.
- The fee must be less than the customer’s transaction amount.
- The fee has maximum 5 digits of precision, i.e.
0.00119is allowed, but0.0000001is not - The fee is optional. If
developer_fee_percentis blank, then it’s equivalent to the fee being set to0.0 - The fee is only valid on transactions where funds are transferred by Bridge (not to Bridge)
Developer Fee Configuration [Beta feature]
Developer fees may now additionally be configured with both a flat fee and per-rail options using the newfee_config field. Available by request only. Contact Bridge to enable this feature for your developer account.
developer_fee_percentandfee_configmay not both be included in a request body.- Updating
fee_configperforms a full replacement of the existing fee configuration. Include your entire desired configuration in each update. - Updating
developer_fee_percentclearsfee_config, and updatingfee_configclearsdeveloper_fee_percent. fee_config.sourceacceptsdefaultand payment rail keys such aswire,ach_push, andspei.- If the calculated fee exceeds the deposit amount, Bridge will cap the fee at the full deposit amount.
fee_amount and fee_percent. In this case, the flat fee will be deducted from the deposit amount, and percentage fee taken on the remainder. Minimum or maximum fees will look at the resulting combined flat + percentage amount.
If the developer fee to be taken exceeds the deposit amount, the entire deposit amount will be taken as developer fee.
Let’s examine several examples to illustrate how fees are calculated. All deposits will be made to a virtual account with the following fee_config (note this is an incomplete request body, showing only the fee_config)
| Deposit Amount | fee_amount | fee_percent | Limit Applied | Final Fee |
|---|---|---|---|---|
| 100.00 USD | 10.00 USD | 20% of 90.00 USD = 18.00 USD | maximum_fee caps 28.00 USD to 25.00 USD | 25.00 USD |
| 20.00 USD | 10.00 USD | 20% of 10.00 USD = 2.00 USD | None | 12.00 USD |
| 5.00 USD | 10.00 USD requested | Not applied because the flat fee exceeds the deposit | Deposit amount cap limits the fee to the full deposit | 5.00 USD |
Liquidation Address
Global default developer fee percent
To set a global fee that applies to all Liquidation Addresses, use the developer fees API.- If a user deposits $50.00, they receive $49.75
- $0.25 (0.5%) is credited to the developer’s fee ledger
Per address developer fee percent
To override the default for a specific address, includecustom_developer_fee_percent when creating a Liquidation Address.
custom_developer_fee_percent must be a positive decimal (e.g., 10.2 means 10.2%).
