Q
Quantvestrix · QUSD

QUSD On-Ramp — Partner Integration

Take fiat from your users and issue QUSD, a fully deposit-backed dollar token, straight to their wallet. The coin is minted only after the payment settles, and each coin carries its own backing — 1:1 by construction.

Live · proven end-to-end on-chain

What it does

A partner initiates a checkout for a dollar amount and a destination wallet address. The buyer pays through Swifin (card / bank). When Swifin confirms the payment, QUSD is minted to the destination address on the QVTX chain (or BNB Smart Chain). You never touch keys or funds — the buyer’s wallet receives the token directly.

Fiat in, token out

USD in via Swifin → QUSD out to any address you name. USDT / USDC on BNB Chain are also accepted as the funding leg.

Backed 1:1

The settled fiat is folded into the mint’s identifier (ByteID) as the coin’s backing — recoverable, not held in an opaque pool.

No mint without money

Creating a checkout moves nothing. QUSD is issued only after Swifin’s authoritative confirmation that the payment settled.

On-chain settlement

Every mint is a real on-chain transaction with a public transaction hash your users can verify in the explorer.

The guarantee

Money first, coin second. A checkout is a payment page — it mints nothing. QUSD is minted only after Swifin’s server-side confirmation that the payment settled, and only once the settled fiat has been recorded as that coin’s backing leg. The mint is exactly-once: a locked settle step and a mint marker make a webhook and a status-poll converge on a single mint, even across a restart.

How it flows

1
Partner creates a checkout — POST the amount and the destination wallet address. Back comes a hosted Swifin payment link and an on-ramp reference (ByteID).
2
Buyer pays at Swifin — card or bank, on Swifin’s secure checkout. No card data touches QVTX or the partner.
3
QVTX confirms settlement — on your status poll (or the webhook), QVTX asks Swifin directly whether the payment settled. That answer is authoritative.
4
Backing is recorded — the settled fiat is folded into the mint’s ByteID as its backing leg, so the coin proves what funded it.
5
QUSD is minted on-chain — to the destination address, with a public transaction hash. Status becomes MINTED.

Integration

Two calls. Base URL https://qusd.quantvestrix.com.

1 · Create a checkout

POST/onramp/checkout
# request
{
  "address":  "0x…",        // destination wallet for the QUSD
  "chain_id": 42000,          // 42000 (QVTX) or 56 (BNB Smart Chain)
  "amount":   100.00          // USD
}

# response
{
  "onramp_id":    "QVTX-AGA-…",          // reference (ByteID) — use for status
  "checkout_url": "https://…swifin…",    // send the buyer here to pay
  "amount_usd":   100.00,
  "mint": { "status": "PENDING_PAYMENT" }  // nothing minted yet
}

To fund with USDT or USDC instead of card, add "asset":"usdt" (or "usdc"); the response returns the treasury address and exact amount to send on BNB Chain.

2 · Poll the status

GET/onramp/status?id={onramp_id}
{
  "onramp_id": "QVTX-AGA-…",
  "amount_usd": 100.00,
  "mint": {
    "status": "MINTED",               // PENDING_PAYMENT → MINTING → MINTED
    "tx":     "0x…",                   // on-chain transaction hash
    "amount_minted": 100.0
  }
}

A signed checkout.completed webhook can also drive settlement; polling is sufficient on its own. Statuses are explicit — PENDING_PAYMENT, MINTING, MINTED, OWED (paid, mint retrying), NOT_PAID.

Verifiable proof

The first live settlement — a real card payment that minted QUSD on-chain. Every field is public and checkable in the explorer.

On-ramp reference (ByteID)QVTX-AGA-b9097e55-e1d324a9-d1ea-B-8b49
Amount$1.00 USD → 1.000000 QUSD
ChainQVTX Execution (42000) · canonical QUSD 0xc71b2B5c…
Backing$1.00 SETTLED · Swifin payment → QVTX Treasury · ISO 20022 pain.001
Mint transaction0x8f143f1b281c777fad5d2a4e83ce3badbcec2a8dac90e270d97383c7fa5b7853
On-chain resultconfirmed · block 716,573