Skip to main content
GET
/
v1
/
api
/
onramp
/
{reference}
Get On-ramp Status
curl --request GET \
  --url https://secureapi.tender.cash/v1/api/onramp/{reference} \
  --header 'authorization: <api-key>' \
  --header 'x-access-id: <x-access-id>' \
  --header 'x-request-id: <x-request-id>' \
  --header 'x-timestamp: <x-timestamp>'
{
  "status": "success",
  "message": "success",
  "data": {
    "reference": "a3f1c2d4-8e7b-4f0a-9c1d-2e3f4a5b6c7d",
    "status": "processing",
    "targetChain": "tron",
    "targetAddress": "TRDFGhjkytywooiueonuoo",
    "targetCurrency": "USDT",
    "fiatCurrency": "NGN",
    "fiatAmount": "50000",
    "amountReceived": "50000",
    "cryptoAmountOut": "29.87",
    "virtualAccount": {
      "accountNumber": "0123456789",
      "accountName": "Tender / Ada Obi",
      "bankName": "Wema Bank",
      "expiresAt": "2025-06-09T11:00:00.000Z"
    },
    "stages": {
      "payment": {
        "status": "completed",
        "attempts": 1
      },
      "payout": {
        "status": "completed",
        "attempts": 1
      },
      "swap": {
        "status": "in_progress",
        "attempts": 1
      },
      "swapWithdraw": {
        "status": "skipped",
        "attempts": 0
      },
      "cryptoSend": {
        "status": "pending",
        "attempts": 0
      }
    },
    "createdAt": "2025-06-09T10:00:00.000Z",
    "updatedAt": "2025-06-09T10:04:00.000Z"
  }
}

Overview

Returns the full on-ramp record for a given reference. Poll this endpoint after initiating an on-ramp to track which stage the pipeline is on.

Status values

StatusMeaning
pending_paymentWaiting for the customer’s fiat bank transfer
processingPayment confirmed; pipeline is running
crypto_sentCrypto dispatched to targetAddress
completedFully settled
failedTerminal failure — see failureReason and stages[*].lastError

Stage pipeline

Each on-ramp progresses through the following stages in order:
StageDescription
paymentFiat payment confirmed by the provider
payoutFiat forwarded to JuicyWay for conversion
swapJuicyWay swaps fiat → intermediate crypto (e.g. USDT on Tron)
swapWithdrawSwapped crypto withdrawn from JuicyWay to merchant swap wallet (skipped by default)
cryptoSendCrypto sent from swap wallet to targetAddress (direct or via NEAR Intents bridge)
Each stage has its own status: pending · in_progress · completed · failed · skipped.

Headers

authorization
string
required
Base64-encoded HMAC-SHA256 signature using your API secretExample: "5e73d044c44d733fcf819ad3409aaa..."
x-timestamp
string
required
Example: "2025-03-15T09:45:53.000Z"
x-request-id
string
required
Example: "550e8400-e29b-41d4-a716-446655440000"
x-access-id
string
required
Example: "your-access-id-here"

Path Parameters

reference
string
required
The reference returned by Initiate On-rampExample: "a3f1c2d4-8e7b-4f0a-9c1d-2e3f4a5b6c7d"

Response

status
string
required
Example: "success"
message
string
required
Example: "success"
data
object
required

Authorizations

authorization
string
header
required

HMAC-SHA256 signature. Required headers: x-access-id, x-request-id (UUID), x-timestamp (ISO), authorization (HMAC signature)

Headers

authorization
string
required
x-timestamp
string<date-time>
required
x-request-id
string<uuid>
required
x-access-id
string
required

Path Parameters

reference
string<uuid>
required

The reference returned by Initiate On-ramp

Response

On-ramp request retrieved successfully

status
string
message
string
data
object