Business CollectionOn-Ramp

Get a quote

GET
/openapi/v1/collections/on-ramp/quote

Get a reference price. A quote does not lock the price. The final price is the one in the order creation response.

Quotes support MXN amounts only. You can create an order by MXN (fiatAmount) or USDT (cryptoAmount) amount.

A quote does not generate a quote ID. You do not need to pass quote information when you create an order.

Authorization

bearerAuth
headerAuthorizationBearer <token>

The access_token obtained from POST /oauth2/token. Header format: Authorization: Bearer {accessToken}. The merchant identity comes from the token. The request body does not accept merchant or tenant fields.

Query Parameters

country*"MX"

Fixed to MX

Value in"MX"
fiatCurrency*"MXN"

Fixed to MXN

Value in"MXN"
cryptoCurrency*"USDT"

Fixed to USDT

Value in"USDT"
fiatAmount*number

MXN amount paid by the payer. Must be greater than 0

Response Body

Returns the reference quote.

application/json
  1. response
code?integer

Business status code

message?string
traceId?string

Request trace ID. Provide it when you contact technical support

data?
Example Request
curl -X GET 'https://api.test.stabofx.com/openapi/v1/collections/on-ramp/quote?country=MX&fiatCurrency=MXN&cryptoCurrency=USDT&fiatAmount=954.77'
Example Response
{  "code": 200,  "message": "OK",  "traceId": "trace-uuid-string",  "data": {    "country": "MX",    "fiatCurrency": "MXN",    "fiatAmount": "954.77",    "cryptoCurrency": "USDT",    "cryptoAmount": "50.000000",    "price": "18.8253",    "fiatFee": "13.50",    "minFiatAmount": "100.00",    "maxFiatAmount": "500000.00",    "expiresAt": "2026-11-01T02:20:30Z"  }}

Retrieve a receive account GET

Retrieve the opening status and CLABE of a payer's receive account. The response structure is the same as the Open a receive account response. You can only retrieve payers of your own merchant account. A `payerId` that has never been opened returns "receive account not found".

Create an order POST

Create an On-Ramp order and return payment instructions. On success, the endpoint returns HTTP 200 and the new order has `status` `AWAITING_PAYMENT`. The payer must transfer `fiatAmount` MXN to `paymentInfo.clabe` before `expiresAt`. The provider sets the order price in real time. It can differ from the quote. The order creation response is authoritative. Pass exactly one of `fiatAmount` and `cryptoAmount`. When you create an order by `fiatAmount`, the provider confirms the USDT amount to be credited. The credited amount is the `cryptoAmount` in the response. Before the provider confirms, `cryptoAmount` can be empty. An empty `paymentInfo` means the provider has not yet confirmed the collection. Retry the order creation with the same `Idempotency-Key`, or retrieve the order later. If the provider rejects the request, the order is set to `FAILED`. A replay with the same `Idempotency-Key` returns that `FAILED` order. Payer KYC is only forwarded to the provider. Stabo does not store it, and does not return the ID number or contact details in responses. The payer's receive account must already be open. See the Open a receive account endpoint. If it is not open, order creation returns "receive account being opened" and does not create an order.