curl https://checkout.noxpay.io/v2/offramp/NOXdef789 \
-H "api-key: <key>"
import requests
response = requests.get(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
headers={"api-key": "<key>"},
)
print(response.json())
const response = await fetch(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
{ headers: { "api-key": "<key>" } }
);
const data = await response.json();
{
"version": "v1",
"end2end": "NOXdef789",
"created_at": "2024-05-02T09:00:00Z",
"updated_at": "2024-05-02T09:10:00Z",
"process": "success.completed",
"status": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"substatus": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"message": { "en": "Transaction completed successfully", "pt": "Transação concluída com sucesso", "es": "Transacción completada con éxito" },
"error_message": { "en": "", "pt": "", "es": "" },
"attributes": {
"quote": 5,
"ref_quote": 5,
"fees": 10,
"currency_exit": "BRL",
"currency_entry_paid": "USDT (TRX)",
"currency_entry_paid_code": "TRX_USDT_S2UZ",
"amount_paid": 100.00,
"amount_sent": 490.00,
"pix_e2e": "E00038166202405020900...",
"client_name": "Carlos Lima",
"client_tax_id": "11122233344",
"expiration": "2024-05-02T09:30:00Z",
"return_url": "https://yourapp.com/done",
"external_code": "payout_7",
"webhook": "https://yourapp.com/webhooks/nox",
"pix_key": "email@example.com",
"pix_key_type": "email"
}
}
Noxpay Infra
Get Offramp
GET /v2/offramp/ — retrieve a single offramp transaction by its end2end ID.
curl https://checkout.noxpay.io/v2/offramp/NOXdef789 \
-H "api-key: <key>"
import requests
response = requests.get(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
headers={"api-key": "<key>"},
)
print(response.json())
const response = await fetch(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
{ headers: { "api-key": "<key>" } }
);
const data = await response.json();
{
"version": "v1",
"end2end": "NOXdef789",
"created_at": "2024-05-02T09:00:00Z",
"updated_at": "2024-05-02T09:10:00Z",
"process": "success.completed",
"status": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"substatus": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"message": { "en": "Transaction completed successfully", "pt": "Transação concluída com sucesso", "es": "Transacción completada con éxito" },
"error_message": { "en": "", "pt": "", "es": "" },
"attributes": {
"quote": 5,
"ref_quote": 5,
"fees": 10,
"currency_exit": "BRL",
"currency_entry_paid": "USDT (TRX)",
"currency_entry_paid_code": "TRX_USDT_S2UZ",
"amount_paid": 100.00,
"amount_sent": 490.00,
"pix_e2e": "E00038166202405020900...",
"client_name": "Carlos Lima",
"client_tax_id": "11122233344",
"expiration": "2024-05-02T09:30:00Z",
"return_url": "https://yourapp.com/done",
"external_code": "payout_7",
"webhook": "https://yourapp.com/webhooks/nox",
"pix_key": "email@example.com",
"pix_key_type": "email"
}
}
Covers templates:
If Response
Attributes —
Attributes —
An attribute with an empty value is omitted, so a missing key means that step has not happened yet.
offramp (balance → BRL) and offramp_instant (external crypto deposit → BRL). Fields marked with a template name are only present for that variant.
Path parameters
| Parameter | Description |
|---|---|
id | The end2end identifier (e.g. NOXdef789), the pix_e2e of the payout, or the on-chain tx_hash |
{id} does not match an end2end, it is retried against the Pix end-to-end ID and then the transaction hash — so all three work on the same route with no extra parameter.
Response 200 OK
Attributes — offramp
| Field | Type | Description |
|---|---|---|
quote | integer | Effective crypto→BRL exchange rate used |
ref_quote | integer | Mid-market reference rate |
fees | integer | Total fees |
currency_exit | string | Fiat payout currency — always BRL |
currency_entry_paid | string | Crypto asset display name (e.g. USDT (TRX)) |
currency_entry_paid_code | string | Crypto currency code |
amount_paid | float | Crypto amount debited from your balance |
amount_sent | float | BRL amount the payee receives |
pix_key | string | PIX key the BRL was sent to |
pix_key_type | string | PIX key type (cpf, cnpj, email, phone, random) |
pix_e2e | string | PIX end-to-end ID (populated after payout) |
client_name | string | Payee name |
client_tax_id | string | Payee CPF or CNPJ |
expiration | string | Session expiration timestamp (ISO 8601) |
return_url | string | Post-checkout redirect URL |
external_code | string | Merchant reference |
webhook | string | Webhook URL |
Attributes — offramp_instant
| Field | Type | Description |
|---|---|---|
quote | integer | Effective crypto→BRL exchange rate used |
ref_quote | integer | Mid-market reference rate |
fees | integer | Total fees |
currency_payment | string | Crypto currency the payer sends |
currency_received | string | Fiat currency the payee receives |
amount_payment | float | Crypto amount sent by the payer |
amount_received | float | BRL amount the payee receives |
amount_payment_display | string | Formatted display of the crypto amount |
deposit_address | string | Blockchain deposit address the payer must send to |
deposit_currency | string | Currency code for the deposit |
exact_deposit_amount | string | Exact suffixed amount required (must be sent precisely) |
tx_hash | string | On-chain transaction hash of the inbound deposit |
pix_key | string | PIX key the BRL was sent to |
pix_key_type | string | PIX key type (cpf, cnpj, email, phone, random) |
pix_e2e | string | PIX end-to-end ID (populated after payout) |
client_name | string | Payee name |
client_tax_id | string | Payee CPF or CNPJ |
expiration | string | Session expiration timestamp |
return_url | string | Post-checkout redirect URL |
external_code | string | Merchant reference |
webhook | string | Webhook URL |
For
offramp_instant, always display exact_deposit_amount to the payer — not a rounded number. The suffixed amount is how Noxpay identifies which session a deposit belongs to.Responses from this route carry
version: "v1" in the envelope. It is an inherited label, not a contract version — this is a /v2/ route on the same contract as every other. Do not branch on it.404 — transaction not found or does not belong to your account. The two cases are deliberately indistinguishable.
For all status / substatus values see Offramp statuses.
curl https://checkout.noxpay.io/v2/offramp/NOXdef789 \
-H "api-key: <key>"
import requests
response = requests.get(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
headers={"api-key": "<key>"},
)
print(response.json())
const response = await fetch(
"https://checkout.noxpay.io/v2/offramp/NOXdef789",
{ headers: { "api-key": "<key>" } }
);
const data = await response.json();
{
"version": "v1",
"end2end": "NOXdef789",
"created_at": "2024-05-02T09:00:00Z",
"updated_at": "2024-05-02T09:10:00Z",
"process": "success.completed",
"status": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"substatus": { "en": "Success", "pt": "Sucesso", "es": "Éxito" },
"message": { "en": "Transaction completed successfully", "pt": "Transação concluída com sucesso", "es": "Transacción completada con éxito" },
"error_message": { "en": "", "pt": "", "es": "" },
"attributes": {
"quote": 5,
"ref_quote": 5,
"fees": 10,
"currency_exit": "BRL",
"currency_entry_paid": "USDT (TRX)",
"currency_entry_paid_code": "TRX_USDT_S2UZ",
"amount_paid": 100.00,
"amount_sent": 490.00,
"pix_e2e": "E00038166202405020900...",
"client_name": "Carlos Lima",
"client_tax_id": "11122233344",
"expiration": "2024-05-02T09:30:00Z",
"return_url": "https://yourapp.com/done",
"external_code": "payout_7",
"webhook": "https://yourapp.com/webhooks/nox",
"pix_key": "email@example.com",
"pix_key_type": "email"
}
}

