Workflow

Onramp

The customer wires Mexican pesos to an MXND CLABE. We mint MXND, settle the trading asset against it, and pay it out on chain.

Each trade

Once setup is in place, executing a fiat → crypto trade is a quote plus an order against the Trading API, plus an SPEI wire from the customer's bank. Everything in between is handled by Bitrus.

1

Quote USDT/MXND on the Trading API

Pair is USDT/MXND, side BUY. The total field is the MXN amount you need to wire.

Trading API · POST /quotes/

curl -X POST https://api.bitrus.com/api/v1/quotes/ \
  -H "Authorization: Bearer $TRADING_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "base_asset": "USDT",
    "quote_asset": "MXND",
    "quantity": "500",
    "side": "BUY"
  }'

Response

1 keys
"response": {
"data": {
"id": "ad5f2fa3-7f1b-4d0c-9d81-1f2c3cba9c01",
"customer_id": "1b4a17b7-1d5b-4d10-bc71-f1bf68d8daa1",
"base_asset_id": "1140a7f7-2c0b-44b1-8d62-7d52a7d9a312",
"quote_asset_id": "9c2bdd11-9b5d-4d62-9b07-1c5a4ac5f8b1",
"quantity": "500",
"side": "BUY",
"price": "19.85",
"total": "9925.00",
"created_at": "2026-05-12T13:00:00.000000Z",
"expires_at": "2026-05-12T13:01:00.000000Z"
}
}
2

Create the trade order

POST /trade-order/ with the quote id and the network the Trading wallet is on. The response is the deposit address the Trading API expects to be funded — for fiat → crypto, that funding will come from the MXND mint, not from the customer.

Trading API · POST /trade-order/

curl -X POST https://api.bitrus.com/api/v1/trade-order/ \
  -H "Authorization: Bearer $TRADING_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "quote_id": "ad5f2fa3-7f1b-4d0c-9d81-1f2c3cba9c01",
    "network": "POLYGON"
  }'

Response

4 keys
"response": {
"id": "8b6d2b71-9e0e-4af2-a4f5-cd24e7c1a8a3",
"status": "RECEIVED",
"deposit_address": {
"network": "POLYGON",
"address": "0xe890c5e40375f4787a49cba184e7ee1553f77e6b"
},
"created_at": "2026-05-12T13:00:18.000000Z"
}
3

Customer wires MXN to an MXND CLABE

The customer sends the SPEI transfer for the quoted MXN total to one of the MXND collection CLABEs (provided out-of-band).

4

MXND mints into the Trading wallet

Within seconds of the wire settling, the MXND backend mints MXND directly to the Trading-side deposit wallet. The customer's notification emails get the mint_confirmation template.

5

Trading API sees a normal on-chain deposit

The trade order moves WAITING_DEPOSIT → DEPOSIT_RECEIVED → ASSET_SENT → COMPLETE as Bitrus sends USDT to the customer's whitelisted withdraw address.

Reference pages