{
  "info": {
    "name": "Flo API",
    "description": "Flo — tokenized capital markets API. Import this collection to test every primary endpoint: mint, redeem, positions, borrow, bridge, fees, webhooks. Uses the sandbox base URL by default — swap the baseUrl environment variable to api.flo.finance for production. All requests carry Bearer auth via {{apiKey}}. Settlement currency accepts both USDC and USDT.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_postman_id": "flo-api-collection-v1"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      { "key": "token", "value": "{{apiKey}}", "type": "string" }
    ]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://sandbox.flo.finance" },
    { "key": "apiKey", "value": "sk_test_REPLACE_ME" }
  ],
  "item": [
    {
      "name": "Mint",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Content-Type", "value": "application/json" },
          { "key": "Idempotency-Key", "value": "{{$guid}}" }
        ],
        "url": { "raw": "{{baseUrl}}/v1/mint", "host": ["{{baseUrl}}"], "path": ["v1", "mint"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"asset\": \"AAPL\",\n  \"quantity\": 100,\n  \"settlement\": {\n    \"currency\": \"USDC\",\n    \"chain\": \"base\",\n    \"wallet\": \"0x4a8B70fa12cC3d9d3c9b22Ac019bE40a7d11\"\n  }\n}"
        },
        "description": "Tokenize any public or private market asset 1:1. Trade fee is cost + tier bps (3–15), charged on this opening leg. Close (redeem) incurs the same per-leg fee. Settles onchain in USDC or USDT."
      }
    },
    {
      "name": "Redeem",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/redeem", "host": ["{{baseUrl}}"], "path": ["v1", "redeem"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"position_id\": \"pos_8kX2pQ9mR3nV\",\n  \"quantity\": 100,\n  \"payout\": {\n    \"currency\": \"USDC\",\n    \"chain\": \"base\",\n    \"wallet\": \"0x4a8B70fa12cC3d9d3c9b22Ac019bE40a7d11\"\n  }\n}"
        },
        "description": "Burn any Flo token, receive USDC or USDT on the chain of your choice. The closing leg incurs the same per-leg trade fee (cost + tier bps) as the opening mint."
      }
    },
    {
      "name": "Trade — estimate",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/trade/estimate", "host": ["{{baseUrl}}"], "path": ["v1", "trade", "estimate"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"side\": \"open\",\n  \"asset\": \"TSLA\",\n  \"quantity\": 50,\n  \"settlement\": { \"currency\": \"USDC\", \"chain\": \"base\" }\n}"
        },
        "description": "Preview the exact per-leg fee (Flo bps + pass-through cost) for the side you specify — open or close. No funds moved, no rate-limit cost."
      }
    },
    {
      "name": "Positions — get one",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{baseUrl}}/v1/positions/AAPL?wallet=0x4a8B70fa12cC3d9d3c9b22Ac019bE40a7d11",
          "host": ["{{baseUrl}}"],
          "path": ["v1", "positions", "AAPL"],
          "query": [{ "key": "wallet", "value": "0x4a8B70fa12cC3d9d3c9b22Ac019bE40a7d11" }]
        },
        "description": "Live NAV, accrued yield, effective APY for a token held by a wallet."
      }
    },
    {
      "name": "Positions — list",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{baseUrl}}/v1/positions?limit=25",
          "host": ["{{baseUrl}}"],
          "path": ["v1", "positions"],
          "query": [{ "key": "limit", "value": "25" }]
        },
        "description": "Paginated list of all positions on your keys."
      }
    },
    {
      "name": "Borrow — open",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Content-Type", "value": "application/json" },
          { "key": "Idempotency-Key", "value": "{{$guid}}" }
        ],
        "url": { "raw": "{{baseUrl}}/v1/borrow", "host": ["{{baseUrl}}"], "path": ["v1", "borrow"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"collateral\": { \"token\": \"AAPL\", \"quantity\": 500 },\n  \"borrow\": {\n    \"amount\": 42000,\n    \"currency\": \"USDC\",\n    \"chain\": \"base\",\n    \"wallet\": \"0x4a8B...3c9D\"\n  }\n}"
        },
        "description": "Post tokenized-stock collateral, receive USDC or USDT. Flat 6–9% APR across every tier and every asset class. Max LTV varies by asset class."
      }
    },
    {
      "name": "Borrow — rates",
      "request": {
        "method": "GET",
        "url": { "raw": "{{baseUrl}}/v1/borrow/rates", "host": ["{{baseUrl}}"], "path": ["v1", "borrow", "rates"] },
        "description": "Live APR band and Max LTV per asset class. Indicative, subject to market conditions."
      }
    },
    {
      "name": "Bridge — move token across chains",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/bridge", "host": ["{{baseUrl}}"], "path": ["v1", "bridge"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"AAPL\",\n  \"quantity\": 50,\n  \"from_chain\": \"base\",\n  \"to_chain\": \"arbitrum\",\n  \"destination\": \"0x4a8B...3c9D\"\n}"
        },
        "description": "Atomic LayerZero bridge. No Flo fee — gas only."
      }
    },
    {
      "name": "Fees — balance",
      "request": {
        "method": "GET",
        "url": { "raw": "{{baseUrl}}/v1/fees/balance", "host": ["{{baseUrl}}"], "path": ["v1", "fees", "balance"] },
        "description": "Accrued, pending, and settled developer-fee balances by destination wallet."
      }
    },
    {
      "name": "Fees — settle now",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/fees/settle", "host": ["{{baseUrl}}"], "path": ["v1", "fees", "settle"] },
        "body": {
          "mode": "raw",
          "raw": "{ \"minimum_usdc\": 10 }"
        },
        "description": "Manually trigger developer-fee settlement. Auto-settles daily at 00:00 UTC otherwise."
      }
    },
    {
      "name": "Webhooks — create subscription",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/webhooks", "host": ["{{baseUrl}}"], "path": ["v1", "webhooks"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"https://api.your-app.com/flo-webhook\",\n  \"events\": [\"mint.*\", \"redeem.*\", \"borrow.*\", \"bridge.*\"],\n  \"secret\": \"whsec_replace_with_your_signing_secret\"\n}"
        }
      }
    },
    {
      "name": "Webhooks — replay",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": { "raw": "{{baseUrl}}/v1/webhooks/{{webhookId}}/replay", "host": ["{{baseUrl}}"], "path": ["v1", "webhooks", "{{webhookId}}", "replay"] },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"from\": \"2026-04-01T00:00:00Z\",\n  \"to\": \"2026-04-17T00:00:00Z\"\n}"
        },
        "description": "Replay past events to the subscribed endpoint. Extended retention available as an add-on."
      }
    }
  ]
}
