Journey stages
A new user goes through up to four stages before completing a transaction. Returning users who are already verified skip directly to the transaction stage.1
Onboarding
The user provides personal details: name, date of birth, address, and tax ID. This data is submitted via the widget or your own screens if youโre on the API path.
2
KYC verification
The user uploads an identity document and takes a selfie. DollarPe runs automated checks. Customer status moves to
PROCESSING immediately, then resolves to VERIFIED or FAILED.KYC typically completes within minutes. You receive a CUSTOMER webhook when it resolves.3
Bank linking (payout only)
For payout flows, the user adds a bank account or UPI ID. DollarPe verifies it via penny drop or UPI validation. Bank status moves to
VERIFIED or FAILED.Not required for payin. A user can have multiple bank accounts, each verified independently.4
Transaction
The user selects payin or payout, sees a live rate, locks a quote, and completes the payment. You receive
PAYIN or PAYOUT webhooks as the order progresses.Status flow by stage
See Status reference for all transitions and what to do per state.
Returning users
A returning user withCUSTOMER status VERIFIED skips onboarding and KYC. For payout, they also need at least one BANK status VERIFIED. For payin, they land directly on the transaction screen without bank linking.
Widget path
If you use hosted mode or iframe integration, the widget manages every step above. Your backend only needs to:- Create the customer before the user first opens the widget
- Listen to webhooks for status changes
- Act on terminal states (release crypto on
PAYINSUCCESS, hold onON_HOLD, investigate onFAILED)

