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

Flow overview

1

Get available currencies

Call GET /get-deposit-currency-list.
2

Get available payment methods

Call POST /fees-limit-currency-payment-methods-is-active-payment-methods-list with the chosen currency.
3

Check amount and fees

Call GET /get-deposit-details-with-amount-limit-check.
4

Complete the deposit

Choose the appropriate payment endpoint: Stripe, PayPal, Bank, or CoinPayments.

GET /get-deposit-currency-list

Returns the list of currencies available for deposit, filtered by active fee/limit rules.

Request parameters

user_id
number
required
The authenticated user’s ID (used to determine the default wallet).

Response fields

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

GET /get-deposit-bank-list

Returns banks available for bank-transfer deposits for a given currency.

Request parameters

currency_id
number
required
The selected currency ID.

Response fields

success
object
curl --request GET \
  --url 'https://your-domain.com/api/get-deposit-bank-list?currency_id=1' \
  --header 'Authorization: Bearer {token}'

POST /fees-limit-currency-payment-methods-is-active-payment-methods-list

Returns the active payment methods available for a given currency and deposit transaction type.

Request parameters

currency_id
number
required
The selected currency ID.
currencyType
string
required
fiat or crypto.
transaction_type_id
number
required
The deposit transaction type ID.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/fees-limit-currency-payment-methods-is-active-payment-methods-list \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{"currency_id": 1, "currencyType": "fiat", "transaction_type_id": 2}'

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

Validates the deposit amount and returns a full fee breakdown.

Request parameters

user_id
number
required
The authenticated user’s ID.
amount
number
required
Intended deposit amount.
currency_id
number
required
Selected currency ID.
paymentMethodId
number
required
Selected payment method ID.

Response fields

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

POST /deposit/stripe-make-payment

Initiates a Stripe card deposit by creating a payment intent.

Request parameters

user_id
number
required
The authenticated user’s ID.
cardNumber
string
required
Card number.
month
number
required
Card expiry month (1–12).
year
number
required
Card expiry year (4 digits).
cvc
number
required
Card CVC/CVV.
amount
number
required
Deposit amount (before fees).
totalAmount
number
required
Total amount including fees.
currency_id
number
required
Currency ID.
payment_method_id
number
required
Payment method ID for Stripe.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/deposit/stripe-make-payment \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "cardNumber": "4242424242424242",
    "month": 12,
    "year": 2026,
    "cvc": 123,
    "amount": 200,
    "totalAmount": 206,
    "currency_id": 1,
    "payment_method_id": 3
  }'

POST /deposit/stripe-confirm-payment

Confirms a Stripe payment intent and credits the user’s wallet.

Request parameters

user_id
number
required
The authenticated user’s ID.
paymentIntendId
string
required
Stripe payment intent ID from /deposit/stripe-make-payment.
paymentMethodId
string
required
Stripe payment method ID from /deposit/stripe-make-payment.
amount
number
required
Original deposit amount.
totalAmount
number
required
Total amount including fees.
currency_id
number
required
Currency ID.
payment_method_id
number
required
Payment method ID.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/deposit/stripe-confirm-payment \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "paymentIntendId": "pi_abc123",
    "paymentMethodId": "pm_xyz456",
    "amount": 200,
    "totalAmount": 206,
    "currency_id": 1,
    "payment_method_id": 3
  }'

POST /deposit/get-paypal-info

Retrieves the PayPal client ID and configuration for the given currency and payment method. Use the returned credentials to initialize the PayPal SDK on the client.

Request parameters

currency_id
number
required
The selected currency ID.
method_id
number
required
The PayPal payment method ID.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/deposit/get-paypal-info \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{"currency_id": 1, "method_id": 4}'

POST /deposit/paypal-payment-store

Records a completed PayPal deposit. Call this after the PayPal SDK confirms a COMPLETED transaction.

Request parameters

user_id
number
required
The authenticated user’s ID.
amount
number
required
Deposit amount (before fees).
currency_id
number
required
Currency ID.
paymentMethodId
number
required
PayPal payment method ID.
details
object
required
PayPal order details object returned by the SDK. Must contain status: "COMPLETED".

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/deposit/paypal-payment-store \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "amount": 200,
    "currency_id": 1,
    "paymentMethodId": 4,
    "details": {"status": "COMPLETED", "id": "PAYPAL-ORDER-ID"}
  }'

POST /deposit/bank-payment-store

Records a bank transfer deposit. The deposit is created with Pending status and must be confirmed by an administrator.

Request parameters

user_id
number
required
The authenticated user’s ID.
currency_id
number
required
Currency ID.
amount
number
required
Deposit amount.
bank_id
number
required
The bank ID from /get-deposit-bank-list.
deposit_payment_id
number
required
Payment method ID for the bank.
deposit_payment_name
string
required
Payment method name (e.g. Bank).
totalFees
number
required
Total fees amount.
file
file
Optional proof-of-payment file upload (multipart/form-data).

Response fields

success
object
Bank deposits are created as Pending and require admin approval before funds are credited.
curl --request POST \
  --url https://your-domain.com/api/deposit/bank-payment-store \
  --header 'Authorization: Bearer {token}' \
  --form 'user_id=42' \
  --form 'currency_id=1' \
  --form 'amount=500' \
  --form 'bank_id=2' \
  --form 'deposit_payment_id=5' \
  --form 'deposit_payment_name=Bank' \
  --form 'totalFees=5' \
  --form 'file=@/path/to/receipt.pdf'

POST /deposit/coinpayments-payment-store

Initiates a CoinPayments crypto deposit. Returns a payment address and QR code URL.

Request parameters

user_id
number
required
The authenticated user’s ID.
currency_id
number
required
Cryptocurrency currency ID.
amount
number
required
Deposit amount.
totalFees
number
required
Total fees.
currency_type
string
required
Must be crypto.
deposit_payment_id
number
required
CoinPayments payment method ID.

Response fields

success
object
curl --request POST \
  --url https://your-domain.com/api/deposit/coinpayments-payment-store \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "user_id": 42,
    "currency_id": 10,
    "amount": 0.005,
    "totalFees": 0.0001,
    "currency_type": "crypto",
    "deposit_payment_id": 6
  }'

Build docs developers (and LLMs) love