List any of 8,000+ tokenized stocks, treasury yield products, commodities, FX, ETFs, and fixed income in your app today.
One POST submits an on-chain tx that atomically pulls notional_usdc from the user and creates an on-chain order_id. The live Flo token, issued by Flo Global Markets Ltd. (BVI) and backed 1:1 by holdings at Flo Capital SPC (Cayman), is minted asynchronously via settle(order_id) once the broker leg confirms back-to-back with Interactive Brokers and Alpaca Securities on industry-standard cycles (T+1 for US equities, typically T+2 for other markets). Out-of-session orders auto-promote from queued to active when the venue opens. Reorg-safe by construction.
The full mint spec lives in the docs
Notional-in default (notional_usdc + slippage_bps), the async order_id lifecycle (queued → active → settled or cancelled), limit orders (mint.limit with limit_price + good_till), triggers (stop_loss / take_profit / OCO), the cancel endpoint, the gas sponsor model (developer or user_notional with max_gas_usdc), idempotency, errors, and the developer-fee object, all in one place. Python and Node.js tabs, copy-ready.
How minting works
Three stages, one SDK call. The whole sequence finishes in under a minute end-to-end on a normal market day.
Create-order tx
One POST call submits an on-chain tx that atomically pulls notional_usdc from the user's wallet and creates an on-chain order_id. The developer fee is deducted first, then gas if gas.sponsor is user_notional; the remainder buys the asset bounded by slippage_bps. If the venue is closed or illiquid, the order enters status: queued and auto-promotes when fillable.
Prime broker execution
Flo routes the fill through Interactive Brokers or Alpaca Securities. Fills are booked against Flo Capital SPC (Cayman), the bankruptcy-remote Segregated Portfolio Company that holds the underlying. Cycle is T+1 for US equities, typically T+2 for other markets.
Settle on chain
Once the broker leg confirms, Flo's keeper calls settle(order_id) on chain. The contract checks the order is still ACTIVE, nullifies it, and Flo Global Markets Ltd. (BVI) mints the corresponding Flo token 1:1 to the destination wallet in the same tx. If the broker leg fails, cancel(order_id) refunds the stablecoin instead. If neither happens within the recovery window, the user can call user_cancel(order_id) directly.
Every mint, audit-grade by default.
Compliant, bankruptcy-remote, composable, and observable, on every call. The plumbing is boring on purpose so your roadmap doesn't have to be.
Public + private, one SDK
Mint stocks, treasury yield, commodities, FX, ETFs, fixed income, and private credit through a single endpoint. No broker-dealer, no custodian, no legacy FIX stack.
Asynchronous, reorg-safe by construction
Every mint is asynchronous. The call submits one on-chain tx that atomically pulls stablecoin and creates an on-chain order_id; the live token mints in a separate tx via settle(order_id) once the broker leg confirms back-to-back with Interactive Brokers or Alpaca Securities (T+1 for US equities, typically T+2 for other markets). Because settle reads on-chain order state before minting, there is no reorg / double-spend window — closed at the contract level, not by waiting for finality.
Partner KYB at the edge, permissionless tokens
SDK access requires partner-level KYB. End-user mint, redeem, and transfer are not gated on user attributes by Flo — token contracts have no on-chain wallet allowlist, and tokens move freely onchain under EU/EEA law.
BVI issuer + Cayman SPC custody
Every position is issued as a blockchain-based structured note by Flo Global Markets Ltd. (BVI), the issuer entity. The underlying is held by Flo Capital SPC (Cayman), a bankruptcy-remote Segregated Portfolio Company with an independent director. Holders have a direct contractual entitlement to the underlying asset.
ERC-20 composable
Every Flo token is a standard ERC-20. Plug directly into Morpho, Aave, Uniswap, or your own vaults.
Top 100 preinstalled, long-tail permissionless
Flo deploys the top 100 most-traded tickers across every chain at launch. For long-tail assets, the factory is permissionless: any wallet can deploy via CREATE2, paying their own gas. The resulting contract address is deterministic and shared by every partner. No allowlist, no Flo-paid spam surface, no per-partner deploy friction.
Webhooks for every event
Lifecycle webhooks for mint.created, mint.queued, mint.settled, mint.cancelled, plus order.armed, order.triggered, and fee.refunded for limit and trigger orders. Reconcile your own books in real time.
Limit and trigger orders
mint.limit places a buy that sits queued until the mark crosses limit_price. Stop-loss, take-profit, and atomic OCO triggers ride the same lifecycle (armed → triggered → active → settled). Cancel any open order with a single endpoint, no fee.
Configurable gas sponsor
Set gas.sponsor to developer (Flo draws from your treasury) or user_notional (gas deducted inline from notional_usdc, before the asset is bought) on every call. Optional max_gas_usdc caps the deduction.
Built-in fee collection
Pass amount_bps and a destination wallet on any mint. Flo accrues your fee and settles it daily in USDC, no fee infrastructure to build.
What you can mint
Coverage mirrors Interactive Brokers' published reach: 170 markets across 100+ countries in 29 currencies, plus private credit via tokenization partners.
| Asset Class | Instruments |
|---|---|
| Equities | Stocks, BDCs, ADRs |
| Fixed Income | Government bonds, Corporate bonds, Munis |
| ETFs | Equity, Bond, Commodity, Thematic ETFs |
| Private Credit | ABS, CLOs, CDOs, private debt funds |
Market hours mirror every major exchange: pre-market, core session, post-market, and overnight. Outside core hours, the create-order tx still confirms immediately; settle(order_id) waits on the broker leg and the live token mints when the venue fills.
Start minting today
Grab an SDK key, pip install the SDK, and call client.mint(). Your first tokenized position is live in the same sitting.