API Reference: Payout session · Payout · Payout status
Prerequisites
- Node.js 18+ with
fetch(or undici) - Recipient party and counterparty (or create them first)
- Payment account for the recipient with
operation_type=PAYOUT - Merchant passcode verification (required on payout execute)
- Server-side only — never expose Client Secret in the browser
Flow overview
- Authenticate → Bearer token
- Ensure party / counterparty exist
POST /v1/payment-accounts/create?operation_type=PAYOUTPOST /v1/sessions/payoutwithpayout_account_id,amount,currencyPOST /v1/executions/payoutwithsession_id,payout_account_id,reference_id, andpasscodeGET /v1/status/payout/:reference_id
Steps
1
Authenticate
2
Payment account (recipient wallet)
method and provider from phone when possible.3
Payout session
expires_at and wallet_id (the source wallet Dollr debits). You do not send wallet_id or expires_at on create.4
Execute payout
referenceId in your database before awaiting the response. The passcode object is required — it verifies the merchant authorizing the payout.5
Poll status
reference_id while status is PROCESSING.Passcode payload
* Provide
phone or user_id on token as required by your merchant account setup.
Obtain your payout passcode
- Log in to merchant.heydollr.app
- Go to Settings → Security (or Profile → Passcode)
- Create or reset your merchant passcode
- Use the same phone in
passcode.token.phoneas registered in the portal
Wallet funding
Payouts debit your Dollr wallet (wallet_id appears on the session response). Ensure sufficient balance before executing — see Insufficient wallet balance.
