Off-Ramp API Endpoints

POST /api/v1/offramp/request

Initiate a fiat withdrawal.

bash
curl -X POST https://api.nester.finance/api/v1/offramp/request \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_address": "GBXYZ...",
    "amount_usd": 1000,
    "currency": "NGN",
    "bank_code": "058",
    "account_number": "0123456789"
  }'
json
{
    "success": true,
    "data": {
        "request_id": "offramp_abc123",
        "amount_usd": 1000,
        "amount_fiat": 1565000,
        "currency": "NGN",
        "exchange_rate": 1565.0,
        "fee_usd": 5.0,
        "fee_pct": 0.5,
        "estimated_time": "3 seconds",
        "status": "escrowed",
        "escrow_tx_hash": "abc123..."
    }
}

GET /api/v1/offramp/status/:id

Track settlement progress.

json
{
    "success": true,
    "data": {
        "request_id": "offramp_abc123",
        "status": "settled",
        "steps": [
            { "step": "escrowed", "completed_at": "2026-03-22T14:00:01Z" },
            { "step": "lp_matched", "completed_at": "2026-03-22T14:00:01Z" },
            { "step": "fiat_initiated", "completed_at": "2026-03-22T14:00:02Z" },
            { "step": "fiat_confirmed", "completed_at": "2026-03-22T14:00:04Z" },
            { "step": "settled", "completed_at": "2026-03-22T14:00:04Z" }
        ],
        "settlement_time_ms": 3200
    }
}

GET /api/v1/offramp/quote

Get a conversion quote before initiating off-ramp.

bash
curl "https://api.nester.finance/api/v1/offramp/quote?amount=1000&currency=NGN"
json
{
    "success": true,
    "data": {
        "amount_usd": 1000,
        "amount_fiat": 1565000,
        "currency": "NGN",
        "exchange_rate": 1565.0,
        "fee_usd": 5.0,
        "fee_pct": 0.5,
        "net_fiat": 1557175,
        "valid_for_seconds": 30
    }
}