Estimate Payout Fees
Calculate the fees a payout would incur without creating it. The query accepts the same identifying fields as Create a Payout, so the estimate reflects the rail, fee party and customer fee upcharges that a matching payout request would be charged. Unknown query parameters are rejected. No money moves and no `transfer` is created. Provider setup is deferred, so a later payout can still fail at the provider. For ACH estimates, Dots may refresh instant payout eligibility with the provider and update its internal cache before choosing ACH or RTP pricing. If a Plaid-linked ACH account has no stored account details, Dots retrieves them from Plaid without saving the bank account details. The instant payout eligibility cache may still be updated. Use `user_fee_amount` and `payout_amount` to show a user what they would pay and receive before you create the payout. Omit `amount` to get only the fee schedules that apply to the user and rail (`fee_settings` and `platform_fee_settings`); the per-payout amounts are then `null`. The schedules describe configured fees, but cannot give an exact quote without an amount. Visa and Amazon calculate their base fees on a whole-dollar payout, while a per-payout override uses the requested amount. Without an amount no payout checks run and `platform` is the requested rail: the ACH-to-RTP upgrade depends on the amount. Pass `amount` for the actual fee breakdown and RTP pricing.
Calculate the fees a payout would incur without creating it. The
query accepts the same identifying fields as Create a Payout, so the
estimate reflects the rail, fee party and customer fee upcharges that a
matching payout request would be charged. Unknown query parameters are
rejected. No money moves and no transfer is created. Provider setup
is deferred, so a later payout can still fail at the provider.
For ACH estimates, Dots may refresh instant payout eligibility with the provider and update its internal cache before choosing ACH or RTP pricing.
If a Plaid-linked ACH account has no stored account details, Dots retrieves them from Plaid without saving the bank account details. The instant payout eligibility cache may still be updated.
Use user_fee_amount and payout_amount to show a user what they
would pay and receive before you create the payout.
Omit amount to get only the fee schedules that apply to the user and
rail (fee_settings and platform_fee_settings); the per-payout
amounts are then null. The schedules describe configured fees, but
cannot give an exact quote without an amount. Visa and Amazon calculate
their base fees on a whole-dollar payout, while a per-payout override
uses the requested amount. Without an amount no payout checks run and
platform is the requested rail: the ACH-to-RTP upgrade depends on the
amount. Pass amount for the actual
fee breakdown and RTP pricing.
Authorization
api_key In: header
Query Parameters
ID of the user the payout would be created for.
uuidAmount in cents the payout would be created with. Omit to return only the fee schedules.
0 < valuePlatform the user would be paid out through. Accepts the rails listed above; direct rtp and invoice estimates are unsupported. Request ach to allow automatic RTP selection. default uses the user's default payout method.
Value in
- "ach"
- "paypal"
- "venmo"
- "visa"
- "amazon"
- "cash_app"
- "intl_bank"
- "intl_transfer"
- "bank_transfer"
- "wire"
- "airtm"
- "payoneer"
- "crypto"
- "push_to_card"
- "default"
The account or card ID that would be paid to. Used for ach, intl_bank, and push_to_card; defaults to the user's most recent account or card.
Which party would pay the fees. Takes precedence over the default for your application.
Value in
- "user"
- "platform"
Fixed part, in cents, of a per-payout fee override. Must be sent with payout_fee_percent. See the payout_fee field on Create a Payout.
0 <= valuePercent part of a per-payout fee override, as a decimal string such as 0.05. Must be sent with payout_fee_fixed.
^(?:0(?:\.\d+)?|\.\d+)$Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/payouts/fee-estimate?user_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&platform=ach"{ "user_id": "fc54b468-bbb2-403f-be36-5627a8e3c7a4", "platform": "ach", "payout_fee_party": "user", "fee_settings": { "fixed": 50, "percent": "0", "min": 0, "max": null }, "platform_fee_settings": { "fixed": 75, "percent": "0", "min": 0, "max": null }, "amount": 1000, "fee_amount": 50, "platform_fee_amount": 25, "fx_upcharge_amount": 0, "total_fee_amount": 75, "user_fee_amount": 75, "payout_amount": 925}{ "success": false, "message": "string", "error_code": "string", "errors": [ null ]}{ "success": false, "message": "string", "error_code": "string", "errors": [ null ]}{ "success": false, "message": "string", "error_code": "string", "errors": [ null ]}Create a Payout
Create a payout for an existing user that has a payout method saved to their account.
Send a Payout
Send a payout to a person when you know their phone number or user id. If the user has a Dots acconut, the funds will delivered according to their saved prefernces. Otherwise, they will be sent a Payout Link to onboard and recieve funds.