> For the complete documentation index, see [llms.txt](https://developers.unigox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.unigox.com/tutorials/first-successful-on-ramp.md).

# First successful On Ramp

## Your first successful on-ramp

A recommended sequence for your first on-ramp integration test.

### Step 1: Check API health

GET /api/v1/health

Verify the trades service is up before starting.

### Step 2: Get supported resources and exchange pairs

GET /api/v1/partner/supported-resources GET /api/v1/partner/exchange-pairs

Find available fiat/crypto pairs and payment methods for your target market.

### Step 3: Create or identify the end-user

POST /api/v1/partner/users

Register the end-user in Unigox. Use the returned public\_uuid in the next step.

### Step 4: Get an on-ramp price estimate (optional)

POST /api/v1/partner/onramp/estimate

Get indicative pricing before committing to a quote. No user or liquidity reservation required.

### Step 5: Get an on-ramp quote

POST /api/v1/partner/onramp/quote

Pass the end-user's public\_uuid, crypto/fiat currency pair, and amount. The quote is valid for \~60 seconds.

### Step 6: Initiate the order

POST /api/v1/partner/onramp/initiate

Pass the quote\_id. The order is created and matched to a vendor. Save the returned order\_id.

### Step 7: Wait for webhook updates

The order progresses automatically:

created → awaiting\_vendor\_escrow\_funding → awaiting\_fiat\_transfer → fiat\_transfer\_pending → completed

At awaiting\_fiat\_transfer — retrieve vendor payment details via GET /api/v1/partner/orders/{order\_id} and forward them to the end-user so they can send fiat.

### Step 8: Confirm payment sent

POST /api/v1/partner/orders/{order\_id}/confirm-payment-sent

Call this once the end-user has initiated the fiat transfer. The order moves to fiat\_transfer\_pending and the vendor is notified.

### Step 9: Done

Wait for the completed webhook. The USDT is now on the master wallet.

Optional: initiate a cross-chain send-out via bridge-authorization-parameters + authorize-bridge.
