NiriPayDocs
Dashboard
DocumentationAPI referenceGuidesMerchant API v1 / v2

USDT payouts

Review a quote, then submit a payout with a stable request key.

POST/api/v1/merchant/crypto/payouts
Bearer authentication•Server-side only

1. Request a quote#

POST /api/v1/merchant/crypto/payouts/quote

FieldTypeRequiredDescription
amountDecimal stringYesPositive recipient amount, up to six decimal places
addressStringYesValid TRON recipient address
cURL
curl -X POST https://api.niripay.com/api/v1/merchant/crypto/payouts/quote \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":"200.000000","address":"YOUR_VALID_TRON_RECIPIENT_ADDRESS"}'

Replace the placeholder address before using the API. A quote response contains quote_id, provider, amount, charge, total, destination, expires_at, currency, and network under data.

The recipient receives the quoted amount; the charge is additional. Review the quote before submitting it.

2. Submit the quote#

POST /api/v1/merchant/crypto/payouts

FieldTypeRequiredDescription
quote_idStringYesExact ID from the accepted quote
idempotency_keyStringYes8–128 letters, digits, dots, underscores, or hyphens
webhook_urlStringNoStable callback URL for this payout
cURL
curl -X POST https://api.niripay.com/api/v1/merchant/crypto/payouts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quote_id": "QUOTE_ID_FROM_RESPONSE",
    "idempotency_key": "payout-order-123",
    "webhook_url": "https://merchant.example/webhooks/crypto"
  }'

3. Track the original payout#

Persist the returned transaction id and inspect its state. Query transaction status or process verified crypto callbacks. Request acceptance does not mean the blockchain transfer has completed.

Retry rules#

Reuse the same idempotency key, quote ID, and callback URL for retries of the same payout. A different request under the same key returns a conflict.

If the outcome is unknown, query the original payout; do not create a replacement. Expired or changed quotes need a fresh quote and review before a new, unsubmitted payout is authorized.

Common errors#

CodeNext action
FRAGMENTED_OR_INSUFFICIENT_LIQUIDITYFund one eligible wallet or resolve pending collections
INVALID_KEYUse a stable key with the documented format
IDEMPOTENCY_CONFLICTRestore the original request values
QUOTE_EXPIRED / QUOTE_CHANGEDReview a fresh quote before initiating a new payout
NOT_FOUNDCheck the quote ID and merchant ownership
NiriPay developer documentationSource reviewed · 27 Oct 2026