Quickstart

Quickstart

Pay an NRE account from a USDT deposit, end to end.

You need a test key. Request one.

Shell
export SUPERPAY_KEY=sk_test_...

One key per operation

Examples use $(uuidgen) for brevity. In your code, generate the Idempotency-Key once and reuse it on every retry.

1. Add a beneficiary#

The NRE account holder.

Shell
curl https://api.withsuperpay.com/v1/beneficiaries \
  -H "Authorization: Bearer $SUPERPAY_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Anita Raghunathan",
    "account_number": "50100123456789",
    "ifsc": "HDFC0000261",
    "account_type": "nre"
  }'

Continue once status is active and payouts_enabled is true.

2. Add a sender#

The remitter.

Shell
curl https://api.withsuperpay.com/v1/senders \
  -H "Authorization: Bearer $SUPERPAY_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Rajesh Raghunathan",
    "type": "individual",
    "country": "US",
    "email": "rajesh@example.com",
    "address": {
      "line1": "185 Berry St", "city": "San Francisco",
      "state": "CA", "postal_code": "94107", "country": "US"
    }
  }'

3. Lock a rate#

Shell
curl https://api.withsuperpay.com/v1/quote_locks \
  -H "Authorization: Bearer $SUPERPAY_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "sell_currency": "USD", "buy_currency": "INR", "amount": "1000.00" }'

Locks are short. Create the transfer right away.

4. Create the transfer#

Shell
curl https://api.withsuperpay.com/v1/transfers \
  -H "Authorization: Bearer $SUPERPAY_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_id": "sender_01K5X8QR7M3PZ2VDNW4TBGCFH1",
    "beneficiary_id": "beneficiary_01K5X8QP2A9WKXR6MJ4EYT7NDV",
    "amount": "1000.00",
    "currency": "USD",
    "payout_currency": "INR",
    "quote_lock_id": "quote_lock_01K5X8QS5H2NBVCXZ8MJQ3WRFT",
    "funding": { "rail": "stablecoin", "asset": "USDT", "chain": "tron" }
  }'
Response (excerpt)
{
  "object": "transfer",
  "id": "transfer_01K5X8QT8D4RFMJ2NVWXZ9QBCH",
  "status": "funding",
  "payout_amount": "82833.30",
  "funding": {
    "rail": "stablecoin", "asset": "USDT", "chain": "tron",
    "deposit_address": "TA6DwXHASiXBNFEE1r6ZRy1L68UTkVVPi5",
    "status": "awaiting_funds"
  }
}

5. Send the funds#

Send exactly amount of funding.asset on funding.chain to funding.deposit_address.

6. Get the UTR#

Listen for transfer.status.payout_settled, then fetch the transfer.

Shell
curl https://api.withsuperpay.com/v1/transfers/transfer_01K5X8QT8D4RFMJ2NVWXZ9QBCH \
  -H "Authorization: Bearer $SUPERPAY_KEY"
payout
{
  "status": "settled",
  "amount": "82833.30",
  "currency": "INR",
  "unique_transaction_reference": "HDFCN52026091212345678",
  "settled_at": 1789048800
}

Give the beneficiary the UTR — their bank recognises it.

Next#