Skip to main content
Base URL: https://your-domain.com/api
All endpoints on this page require Authorization: Bearer {token}.

Flow overview

1

Set up a payout method

Add a bank, PayPal, or crypto payout setting via POST /add-withdraw-setting.
2

Select a payout setting

Call GET /get-withdraw-payment-method to list saved payout settings.
3

Select currency and check limits

Call GET /get-withdraw-currencies-based-on-payment-method, then GET /get-withdraw-details-with-amount-limit-check.
4

Submit the withdrawal

Call POST /withdraw-money-pay.

GET /payout-setting

Returns all saved payout settings for the user, with payment method and currency details.

Request parameters

user_id
number
required
The authenticated user’s ID.
payout_setting_id
number
Filter to a specific payout setting ID.

Response fields

success
object
payoutSettings
array
List of payout setting objects including payment method name and currency code.
curl --request GET \
  --url 'https://your-domain.com/api/payout-setting?user_id=42' \
  --header 'Authorization: Bearer {token}'

GET /get-withdraw-payment-methods

Returns payment methods available for withdrawal settings (excludes gateway-only methods like Stripe, Coinpayments).

Response fields

success
object
paymentMethods
array
List of payment method objects with id and name.
curl --request GET \
  --url https://your-domain.com/api/get-withdraw-payment-methods \
  --header 'Authorization: Bearer {token}'

POST /add-withdraw-setting

Adds a new payout setting. The required fields depend on the payment method type.

Request parameters

user_id
number
required
The authenticated user’s ID.
paymentmethod
number
required
Payment method type ID. Use values returned by /get-withdraw-payment-methods.
For Bank type:
account_name
string
Account holder name. Required for Bank.
account_number
string
Bank account number. Required for Bank.
swift_code
string
SWIFT/BIC code. Required for Bank.
bank_name
string
Bank name. Required for Bank.
branch_name
string
Branch name. Required for Bank.
branch_city
string
Branch city. Required for Bank.
branch_address
string
Branch address. Required for Bank.
country
number
Country ID. Required for Bank.
For PayPal type:
email
string
PayPal email address. Required for PayPal. Must be unique per user.
For Crypto type:
crypto_address
string
Crypto wallet address. Required for Crypto. Must be unique per user.
currency
number
Cryptocurrency currency ID. Required for Crypto.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/add-withdraw-setting \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "paymentmethod": 2,
    "email": "[email protected]"
  }'

POST /edit-withdraw-setting

Updates an existing payout setting. The same field rules apply as for /add-withdraw-setting.

Request parameters

user_id
number
required
The authenticated user’s ID.
payout_setting_id
number
required
ID of the payout setting to update.
All other fields are the same as /add-withdraw-setting depending on the payment method type.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/edit-withdraw-setting \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "payout_setting_id": 5,
    "email": "[email protected]"
  }'

POST /delete-payout-setting

Permanently deletes a payout setting.

Request parameters

user_id
number
required
The authenticated user’s ID.
payout_setting_id
number
required
ID of the payout setting to delete.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/delete-payout-setting \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{"user_id": 42, "payout_setting_id": 5}'

GET /check-payout-settings

Checks whether the user has any saved payout settings.

Request parameters

user_id
number
required
The authenticated user’s ID.

Response fields

status
number
200 on success.
payoutSettings
array
Array of payout setting IDs. Empty if none configured.
curl --request GET \
  --url 'https://your-domain.com/api/check-payout-settings?user_id=42' \
  --header 'Authorization: Bearer {token}'

GET /get-withdraw-payment-method

Returns the user’s saved payout settings formatted for the withdrawal flow, including payment type and credential summary.

Request parameters

user_id
number
required
The authenticated user’s ID.

Response fields

success
object
curl --request GET \
  --url 'https://your-domain.com/api/get-withdraw-payment-method?user_id=42' \
  --header 'Authorization: Bearer {token}'

GET /get-withdraw-currencies-based-on-payment-method

Returns the currencies available for withdrawal using the selected payout setting.

Request parameters

user_id
number
required
The authenticated user’s ID.
paymentMethodId
number
required
The payment method type ID from the payout setting.
currencyId
number
For crypto withdrawals: the specific crypto currency ID.

Response fields

success
object
curl --request GET \
  --url 'https://your-domain.com/api/get-withdraw-currencies-based-on-payment-method?user_id=42&paymentMethodId=2' \
  --header 'Authorization: Bearer {token}'

GET /get-withdraw-details-with-amount-limit-check

Validates the withdrawal amount and returns fee details and payout setting info.

Request parameters

user_id
number
required
The authenticated user’s ID.
amount
number
required
Withdrawal amount.
currency_id
number
required
Currency ID.
payoutSetId
number
required
Payout setting ID.
paymentMethodId
number
required
Payment method type ID.

Response fields

success
object
curl --request GET \
  --url 'https://your-domain.com/api/get-withdraw-details-with-amount-limit-check?user_id=42&amount=100&currency_id=1&payoutSetId=5&paymentMethodId=2' \
  --header 'Authorization: Bearer {token}'

POST /withdraw-money-pay

Submits the withdrawal. Funds are deducted from the user’s wallet and a withdrawal record is created.

Request parameters

user_id
number
required
The authenticated user’s ID.
currency_id
number
required
Currency ID.
amount
number
required
Withdrawal amount.
totalFees
number
required
Total fees from /get-withdraw-details-with-amount-limit-check.
payout_setting_id
number
required
Payout setting ID.

Response fields

status
boolean
true if the withdrawal was submitted.
withdrawalValidationErrorMessage
string
Error message when status is false.
curl --request POST \
  --url https://your-domain.com/api/withdraw-money-pay \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "currency_id": 1,
    "amount": 100,
    "totalFees": 2.50,
    "payout_setting_id": 5
  }'

GET /withdrawal/get-all-countries

Returns all countries for the payout setting country selector.

Response fields

success
object
curl --request GET \
  --url https://your-domain.com/api/withdrawal/get-all-countries \
  --header 'Authorization: Bearer {token}'

GET /withdrawal/get-withdrawal-crypto-currencies

Returns cryptocurrencies the user holds that are eligible for withdrawal.

Request parameters

user_id
number
required
The authenticated user’s ID.

Response fields

success
object
curl --request GET \
  --url 'https://your-domain.com/api/withdrawal/get-withdrawal-crypto-currencies?user_id=42' \
  --header 'Authorization: Bearer {token}'

Build docs developers (and LLMs) love