Read balances#
cURL
curl https://api.niripay.com/api/v1/merchant/crypto/balances \
-H "Authorization: Bearer YOUR_API_KEY"The response has a status / data envelope. data includes currency, network, enabled, and a providers map.
| Provider balance field | Meaning |
|---|---|
available | Spendable balance; zero when the provider is blocked |
reserved | Funds reserved for operations |
pending_confirmation | Receipts awaiting confirmation |
pending_collection | Receipts awaiting collection |
frozen | Non-spendable net total: frozen receipts plus blocked available funds |
frozen_receipts | Expected net value of frozen receipts |
frozen_receipts_gross | Gross value of frozen receipts |
blocked_available | Available funds restricted by a provider block |
blocked | Whether the provider is blocked |
The frozen breakdown fields are components, not additional balances to sum. Operating capital and internal collections are excluded from merchant-facing history.
Retrieve top-up instructions#
cURL
curl -X POST https://api.niripay.com/api/v1/merchant/crypto/topup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'This returns reusable USDT top-up instructions in the same instruction structure as customer addresses, with top-up purpose and no customer association. Creating instructions does not transfer funds.
Fund one wallet for a payout#
One enabled wallet must cover the amount and fee. Balances cannot be combined across wallets. INR balances cannot fund USDT payouts.
This API is separate from the admin-approved USDT-to-INR top-up workflow.