Developer Integration Guide

Futre App API Examples

Base URL and API Key

Use the public Futre URL in development. The API key is temporary and must be rotated before production.

BASE_URL = "https://backend.nexwallet.com"
HEADER   = "X-FUTRE-API-Key: futre_live_KsJXk0JcHvweuA5K9oYT4a_Py_JRpbji"

1. Get API Catalog

GET /api/app/v1/catalog
X-FUTRE-API-Key: <api_key>
{
  "project": "Futre Wallet App API",
  "modules": [
    { "name": "Account Creation", "endpoints": [...] },
    { "name": "Deposit Address", "endpoints": [...] }
  ]
}

2. Account Creation

POST /api/signup
Content-Type: application/json

{
  "name": "Test User",
  "email": "test@example.com",
  "password": "test12345"
}
{
  "user": { "id": 12, "email": "test@example.com" },
  "wallet": {
    "addresses": {
      "Bitcoin": "bc1...",
      "ERC20": "0x...",
      "BEP20": "0x...",
      "TRC20": "T..."
    }
  }
}

3. Change Password

POST /api/change-password
Cookie: futre_session=<session_cookie>
Content-Type: application/json

{
  "currentPassword": "test12345",
  "newPassword": "newStrongPassword123"
}
{
  "ok": true,
  "user": { "id": 12, "email": "test@example.com" }
}

4. Deposit Address

POST /api/deposit-address
Cookie: futre_session=<session_cookie>
Content-Type: application/json

{
  "asset": "USDT",
  "network": "TRC20"
}
{
  "asset": "USDT",
  "network": "TRC20",
  "depositAddress": "T...",
  "custodyMode": "semi-custodian"
}

5. Withdrawal

POST /api/withdrawal-request
Cookie: futre_session=<session_cookie>
Content-Type: application/json

{
  "asset": "USDT",
  "network": "TRC20",
  "amount": "10",
  "toAddress": "T..."
}
{
  "id": 51,
  "status": "completed",
  "asset": "USDT",
  "network": "TRC20",
  "amount": "10",
  "fee": 3,
  "netAmount": 7,
  "txid": "..."
}

6. Notifications

GET /api/popup-notifications?consume=1
Cookie: futre_session=<session_cookie>
{
  "notifications": [
    {
      "title": "Deposit received",
      "body": "10 USDT on TRC20 is credited.",
      "kind": "deposit"
    }
  ]
}

7. Swap Quote

POST /api/swap-estimate
Cookie: futre_session=<session_cookie>
Content-Type: application/json

{
  "fromAsset": "USDT",
  "fromNetwork": "TRC20",
  "toAsset": "BTC",
  "toNetwork": "Bitcoin",
  "amount": "25"
}
{
  "provider": "simpleswap",
  "canCreate": true,
  "estimate": { "...": "provider quote" },
  "range": { "...": "provider min/max" }
}

8. Market Prices

GET /api/crypto-prices
{
  "source": "coinmarketcap",
  "updatedAt": "2026-06-27T03:00:00.000Z",
  "prices": {
    "BTC": { "price": 61234.12, "change24h": 1.8 },
    "ETH": { "price": 3320.25, "change24h": -0.4 }
  }
}

Frontend Integration Notes

The app should not store private keys or provider keys. Login/session, MPIN, withdrawals, swaps, and market requests must call backend endpoints. QR scanning happens in the app camera, but address validation and fund movement stay backend-controlled.