Frequently asked questions
Pricing & Fees
Our pricing lives on the pricing page .
If you're moving serious volume, reach out and we'll put together something custom.
The monthly fee covers the dashboard, API access, and support for both you and your payees. Per-payout fees only kick in when money actually goes out to an external destination. You can see the full breakdown on the pricing page .
Definitely. Book a demo and we will put together a custom quote based on your expected volume and average ticket size.
No. You only pay when money actually leaves the platform. Funds sitting on a payee balance, or internal balance moves, do not cost you anything.
Yes. You set the floor, and payees cannot override it. Anything below that threshold stacks on their balance until they hit it. We also offer auto-refill if you'd rather keep your platform balance topped up automatically.
Tax & Compliance
We collect, validate, and store W-9s (US) and W-8BENs (non-US) right inside the payee onboarding flow. If you want them before any payout goes out, turn on "always require tax forms" in App Settings. Otherwise we stagger collection so low-volume payees are not blocked unnecessarily.
The federal 1099-NEC threshold was recently raised under the OBBB, but we are keeping W-9 collection at the old $600 threshold. That keeps you covered if the rules shift again or if state thresholds are lower than federal. If you want to collect W-9s from everyone regardless, flip the toggle in App Settings.
Yes. We file 1099-NEC, 1099-K, and 1099-MISC with both your payees and the IRS for anything processed through Dots. Anything you paid out outside of Dots is still on you.
Possibly. Dots issues a 1099-NEC for payouts we process, and PayPal may issue its own 1099-K if the money also passes through them. Your payees only owe tax on the income once; they just reconcile it on their return. They should loop in a tax advisor if they are unsure.
From the dashboard, send the payee back through the W-9 flow and they will get a fresh re-collection link. If you need to do this in bulk, ping support and we'll run a campaign for you.
Payout Methods & Geographic Coverage
We're a switchboard across 300+ payout types: ACH, RTP, wires, PayPal, Venmo, Cash App, crypto, gift cards, prepaid, plus international rails like SEPA, UPI, Faster Payments, and SWIFT. Check the coverage map for the current list by country and method.
The main things we do not do are paper checks, virtual checks, and direct card issuing.
Dots supports payouts in 190+ countries across 300+ rails. What is available varies by country, so check the coverage map or ask sales about a specific country and method combination.
Yes. RTP reaches about two-thirds of US banks and settles in seconds. If the recipient's bank does not support it, we automatically fall back to ACH in 1-3 business days, with no extra work on your end.
Local Bank Transfer uses in-country rails and lands in the recipient's local currency, usually instantly. Wire Transfer goes over SWIFT, which reaches more places but usually takes 2-5 business days. Your payee can choose whichever works best with their bank during onboarding.
Payout Speed & Settlement
ACH typically lands within one business day. If the recipient's bank supports RTP or FedNow, we automatically upgrade to instant. Venmo and PayPal are instant.
It depends on the rail. Local bank transfers are usually instant, though timing varies by country. PayPal, AirTM, and crypto are instant. SWIFT wires usually take 2-5 business days.
Yes. Instant is available via RTP or debit push, and same-day is available via same-day ACH. You can surface those as upgrade options to your payees.
Onboarding & KYC/KYB
Sandbox is self-serve. Sign up at dots.dev and you can be building against the API in minutes. Production go-live, including KYB and contract work, usually takes 1-2 weeks.
From you, we need a certificate of good standing, beneficial-owner information, and basic business details. For your payees, we collect light information up front and then full KYC, such as SSN, W-9, or government ID, once they hit the $600 threshold. OFAC checks run automatically in the background.
We use Persona for ID verification. In the US, that is a driver's license or state ID. Internationally, it is a government-issued photo ID, typically a national ID, passport, or driver's license depending on the country. Persona picks what is acceptable based on where the payee is.
We retain customer and payee data in line with US financial-services regulations. Transaction records, KYC and KYB documents, and tax forms such as W-9s, W-8BENs, and 1099s are kept for at least 5 years after account closure or last activity, per BSA, AML, and IRS rules. Everything is encrypted at rest and in transit. If you need the full write-up for a compliance or security review, contact sales and we'll send it over.
White-Label & Customization
Yes. Payee onboarding can be fully branded with your logo, colors, and domain. Payout Links also let you send payments over a shareable URL, with no account required on the payee side.
Partially. You can customize the sender name, support contact, and other branding pieces. How far you can go in removing Dots references depends on regulatory disclosure requirements, so talk to sales about the exact setup you want.
Operations & Support
Platform support runs 10am-9pm ET. Payee support is 24/7. Engineers are on-call 24/7 for urgent production issues.
Go to Dashboard -> App Settings -> Accounting. You will find daily balance statements and monthly aggregates with every transaction, fee, and ending balance. CSV export and an API endpoint are both available.
Integration & API
You have three options: REST API, dashboard, or CSV upload.
The MVP integration is four API calls: create app user, onboard payee, fund payout, and trigger payout. Webhooks handle status updates. The full reference lives in the developer docs .
Sandbox access is self-serve.
Sign up at dots.dev and you will get sandbox API keys right away. You can also whitelist test phone numbers to skip SMS in development.
Yes. Sandbox mirrors the full lifecycle: payee onboarding, KYC, payouts, and success and failure states. Production access opens up once KYB is approved and the contract is signed.
Yes. You can upload from the dashboard or via the bulk endpoint. A single row can create the payee and send the payout. If any rows fail, we return the errors inline so you can fix and re-upload.
No.
We stick to a REST API so you can integrate from any language. Full reference lives in the developer docs .
We support payout status changes, including created, processing, succeeded, failed, and returned, plus payee status events such as verified and blocked, and tax-form events. Drop your webhook URL in App Settings -> Developer.
Yes. Use `client_reference_id` for idempotency. If we throw a 5xx, you can safely retry with the same reference. Once you get a 2xx, that same reference will not go through again, so use a fresh ID for any new payout.
We return 4xx for your errors, including a `reason` field, and 5xx for ours.
The full list, including what to do about each one, lives in the error-code reference .