API Endpoints Overview
This document provides the complete list of API endpoints based on the actual implementation. All endpoints are relative to your custom base URL.
Authentication
Get OAuth Token
POST /o/token/
Get access token using client credentials. This is a public endpoint (no authentication required).
Request Body:
grant_type: "client_credentials"client_id: Your client IDclient_secret: Your client secretscope: "read write" or "read write admin"
List OAuth Applications
GET /o/apps/
List all OAuth applications. Scopes: read, write
Create OAuth Application
POST /o/apps/
Create a new OAuth application. Scopes: read, write
Delete OAuth Application
DELETE /o/apps/{id}/
Delete an OAuth application. Scopes: read, write
Currencies & Rates
Get Available Currencies
GET /currencies/
Get list of currencies available for deposits or withdrawals. Scopes: read, write
Query Parameters:
full(boolean): Return full currency details (default: false)min_max(boolean): Include min/max limits (default: false)include_usd(boolean): Include USD equivalent values (requires min_max=true)withdrawal(boolean): Get withdrawal currencies instead of deposit (default: false)
Response (simple):
{
"currencies": ["USDTTRC20", "USDTARB", "BTC", "ETH"]
}
Response (full with min_max and include_usd):
{
"currencies": [
{
"currency": "USDTTRC20",
"name": "Tether USD",
"token": "usdt",
"blockchain": "trx",
"is_popular": true,
"is_stable": true,
"min_amount": "10.00000000",
"max_amount": "100000.00000000",
"min_amount_usd": "10.00",
"max_amount_usd": "100000.00"
}
]
}
Get Exchange Rate
GET /rates/
Get exchange rate between currencies. Scopes: read
Query Parameters:
amount: Amount to convert (default: 1.0)currency_from: Source currency code (default: USD)currency_to: Target currency code (required)fee_percentage: Custom fee percentage (optional)is_fee_paid_by_user: Whether fee is deducted from received amount (optional)full: Return detailed info with fees and timestamp (default: false)
Response (simple):
{
"currency_from": "USD",
"currency_to": "USDTTRC20",
"amount": 100.0,
"estimated_amount": 99.9,
"rate": 0.999
}
Response (with full=true):
{
"currency_from": "USD",
"currency_to": "USDTTRC20",
"amount": 100.0,
"estimated_amount": 99.0,
"rate": 0.999,
"fee_percentage": 1.0,
"fee_amount": 1.0,
"timestamp": "2024-12-27T10:00:00Z"
}
Payments
All payment endpoints require scopes: read, write.
Create Payment
POST /payments/
Create a new cryptocurrency payment.
Request Body:
{
"amount": 100.00,
"currency": "USDTTRC20",
"price_currency": "USD",
"callback_url": "https://your-site.com/webhook",
"order_id": "order_123",
"order_description": "Payment for order 123",
"is_fixed_rate": true,
"is_fee_paid_by_user": false,
"customer_email": "[email protected]",
"wallet_id": "wallet_abc123",
"expiry_minutes": 30
}
List Payments
GET /payments/
List all payments with offset-based pagination.
Query Parameters:
limit: Max results (1-100, default: 20)offset: Pagination offset (default: 0)status: Filter by statuscurrency: Filter by currency codeblockchain: Filter by blockchaintoken: Filter by token
Check Payment Status
POST /payments/status/
Check payment status by transaction ID.
Request Body:
{
"transaction_id": "123e4567-e89b-12d3-a456-426614174000"
}
Get Minimum Amount
GET /payments/min-amount/
Get minimum and maximum payment amount for a currency.
Query Parameters:
currency: Cryptocurrency code (e.g., "USDTTRC20") — required
Response:
{
"currency": "USDTTRC20",
"min_amount": 10.0,
"max_amount": 100000.0,
"blockchain": "TRX",
"token": "USDT"
}
Withdrawals
All withdrawal endpoints require scopes: read, write.
Create Withdrawal
POST /withdrawal/
Create a new withdrawal request. Supports two currency formats and two amount formats.
Request Body (Option 1 — crypto amount with currency code):
{
"amount": 50.00,
"currency": "USDTTRC20",
"address": "TXYZabc123...",
"callback_url": "https://your-site.com/webhook"
}
Request Body (Option 2 — fiat amount with blockchain/token):
{
"price_amount": 50.00,
"price_currency": "USD",
"blockchain": "TRX",
"token": "USDT",
"address": "TXYZabc123...",
"callback_url": "https://your-site.com/webhook"
}
List Withdrawals
GET /withdrawal/
List withdrawals with filtering and pagination.
Query Parameters:
status,blockchain,token,custom_id: Filtersstart_date,end_date: Date range filterslimit,offset: Paginationsort: Sort order
Get Withdrawal Details
GET /withdrawal/{withdrawal_id}/
Get detailed information about a specific withdrawal.
Check Withdrawal Status
POST /withdrawal/status/
Check withdrawal status by ID.
Request Body:
{
"withdrawal_id": "123e4567-e89b-12d3-a456-426614174000"
}
Validate Address
POST /withdrawal/validate-address/
Validate a cryptocurrency address. Requires at least one of: currency, blockchain, or type.
Request Body:
{
"address": "0x1234567890abcdef...",
"currency": "USDTARB"
}
Estimate Withdrawal Fee
POST /withdrawal/fee-estimate/
Estimate the network fee for a withdrawal.
Request Body:
{
"amount": 100.00,
"currency": "USDTTRC20",
"address": "TXYZabc123..."
}
Estimate Withdrawal
POST /withdrawal/estimate/
Full withdrawal simulation showing all amounts and fee breakdown.
Request Body:
{
"amount": 100.00,
"currency": "USDTTRC20",
"final_amount": false
}
Response:
{
"requested_amount": "100.00000000",
"fee": "1.50000000",
"amount": "98.50000000",
"currency": "USDTTRC20",
"blockchain": "TRX",
"token": "USDT",
"platform_fee": "1.00000000",
"network_fee": "0.50000000"
}
Get Minimum Withdrawal Amount
POST /withdrawal/min-amount/
Get minimum withdrawal amount for a currency.
Request Body:
{
"currency": "USDTTRC20"
}
Get Available Withdrawal Currencies
GET /withdrawal/available-currencies/
Get list of currencies available for withdrawal (with positive balance).
Balances
Get All Balances
GET /user/balances/
Get aggregated balances for main account and all sub-accounts. Scopes: read, write
Response:
{
"account": {
"USDTTRC20": {
"amount": "1000.00000000",
"pending_amount": "0.00000000"
}
},
"sub_accounts": {
"USDTTRC20": {
"total_amount": "500.00000000",
"total_pending": "0.00000000",
"accounts": [
{
"account_name": "Wallet 1",
"account_id": "123abc",
"amount": "300.00000000",
"pending_amount": "0.00000000",
"available_balance": "300.00000000"
}
]
}
},
"statistics": {
"currencies_count": 5,
"subaccounts_count": 3
}
}
Get Balance History
GET /user/balances/history/
Get transaction history for balances. Scopes: read
Query Parameters:
currency: Filter by currency codetype: Filter by transaction typelimit: Max results (default: 50)offset: Pagination offset
Wallets (Sub-accounts)
All wallet endpoints require scopes: read, write.
List Wallets
GET /wallets/
List all wallets/sub-accounts.
Response:
{
"accounts": [
{
"id": 1,
"name": "My Wallet",
"external_id": "ext_123",
"wallet_id": "w_abc123",
"created": "2024-12-01T10:00:00Z",
"updated": "2024-12-27T10:00:00Z",
"balances": [
{
"currency": "USDTTRC20",
"amount": "500.00000000",
"pending_amount": "0.00000000",
"available_balance": "500.00000000"
}
]
}
],
"total": 1
}
Create Wallet
POST /wallets/
Create a new wallet/sub-account.
Request Body:
{
"name": "My Wallet",
"external_id": "ext_123"
}
Get Wallet Details
GET /wallets/{id}/
Get specific wallet details with balances.
Get Wallet Balances
POST /wallets/balances/
Get wallet balances by wallet_id or external_id.
Request Body:
{
"wallet_id": "w_abc123"
}
Transfer to Sub-account (Async)
POST /wallets/transfer-to-user/
Transfer funds from master to sub-account. Returns HTTP 202 Accepted.
Request Body:
{
"wallet_id": "w_abc123",
"currency": "USDTTRC20",
"amount": "100.00000000",
"callback_url": "https://your-site.com/webhook"
}
Response (202):
{
"status": "accepted",
"transfer_id": "t_abc123",
"message": "Transfer request accepted and is being processed"
}
Withdraw to Master Account (Async)
POST /wallets/withdraw-to-master/
Transfer funds from sub-account to master. Returns HTTP 202 Accepted.
Request Body:
{
"wallet_id": "w_abc123",
"currency": "USDTTRC20",
"amount": "100.00000000",
"callback_url": "https://your-site.com/webhook"
}
Transfer History
POST /wallets/transfer-history/
Get transfer history for a specific wallet.
Request Body:
{
"wallet_id": "w_abc123",
"status": "completed",
"transfer_type": "to_sub",
"currency": "USDTTRC20",
"limit": 20,
"offset": 0
}
User Information
Get Tenant Info
GET /user/me/
Get current tenant information. Scopes: read, write
Response:
{
"name": "Your Company",
"transaction_fee": 1.0,
"is_fee_paid_by_user": false,
"webhook_callback_url": "https://your-site.com/webhook",
"webhook_secret_masked": "sec_****fgh"
}
Configure Webhooks
POST /user/webhooks/
Configure webhook settings. Scopes: write
Request Body:
{
"callback_url": "https://your-site.com/webhook"
}
Response (first time — save the secret!):
{
"callback_url": "https://your-site.com/webhook",
"secret": "sec_1234567890abcdef",
"message": "Webhook settings created successfully. Please save your secret - it will not be shown again."
}
Get Platform Fees (Admin Only)
GET /user/fees/
Get platform fee balances. Scopes: admin
API Status
GET /status/
Check if API is operational.
Response:
{
"status": "ok"
}