Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dollarpe.xyz/llms.txt

Use this file to discover all available pages before exploring further.

Before you integrate, itโ€™s worth knowing what your users actually go through. This covers each stage of the DollarPe flow, the statuses your backend will see, and when to act on them.

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

StageObjectStatus transitions
KYCCUSTOMERUNVERIFIED โ†’ PROCESSING โ†’ VERIFIED / FAILED
BankBANKPROCESSING โ†’ VERIFIED / FAILED
Payin orderPAYINPROCESSING โ†’ SUCCESS / FAILED / ON_HOLD
Payout orderPAYOUTPROCESSING โ†’ SUCCESS / FAILED / REFUNDED
See Status reference for all transitions and what to do per state.

Returning users

A returning user with CUSTOMER 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 PAYIN SUCCESS, hold on ON_HOLD, investigate on FAILED)
See Widget integration for setup.

API path

On the API path, you build each screen yourself and call the corresponding endpoints per stage. The API integration overview and the Integration checklist cover the required calls in order.