0Bit Documentation

What is 0Pools?

0Pools is the shared fiat-to-stablecoin liquidity network behind 0Bit products and approved headless partner flows.

0Pools is 0Bit's shared liquidity network: the pool ledger and partner API that connect fiat balances, stablecoin inventory, quote locks, execution state, settlement records, and reconciliation into one reusable infrastructure layer.

For most developers, 0Pools is not the first product to integrate. If you want a hosted on-ramp/off-ramp/swap user experience, use 0Gate. If you are an approved headless partner that must own the customer UX and backend ledger, 0Pools gives your server direct access to entitled pool discovery, quotes, execution, status, balance, and reconciliation.

0Pools is infrastructure, not a public widget

0Pools is gated early access. It is enabled per partner, per environment, and per pool. This product guide explains the network model; exact endpoint contracts live in the 0Pools API reference.

The problem before 0Pools

Without a shared liquidity network, every product team has to rebuild the same fragile stack:

Before a shared pool layerWhat breaks
Each product keeps its own exchange balances.Capital is fragmented and one product can be dry while another sits idle.
Quotes are built from static spreads or stale market data.Users see prices that cannot be executed or that change before acceptance.
On-ramp, off-ramp, and treasury flows use separate ledgers.Support cannot join a user order to the actual settlement path cleanly.
Reconciliation lives in spreadsheets and operator notes.Finance teams cannot prove exactly why a balance moved.
Every integration exposes different edge states.Developers write one-off retry and failure logic for each product.

0Pools exists to turn that into a shared network: one entitlement model, one quote lifecycle, one trade lifecycle, one partner-visible balance story, and one reconciliation vocabulary.

What changes with 0Pools

0Pools does not promise that markets stop moving. It changes where market movement is handled. A user-facing product receives partner-visible quote terms; 0Bit's infrastructure manages the private inventory, route, spread, risk, and settlement machinery behind that contract.

With 0PoolsDeveloper impact
Entitled pools are discovered at runtime.The UI only shows what the account may use.
Indicative quotes preview price without locking inventory.Users can explore without creating stale locks.
Firm quotes lock executable terms for a short TTL.The accept window is explicit and bounded.
Execution is idempotent on quote and Idempotency-Key.Retry safety is built into the backend flow.
Status and webhooks expose terminal states.Your ledger updates from durable server records.
Balances and ledger entries are partner-visible.Finance can reconcile credits, debits, refunds, and returns.

The 0Pools network

For integrations, the developer contract stops at the 0Pools network boundary. You should understand that a shared liquidity spine exists, but your product should not build user experiences around venue names, treasury wallets, rebalancing thresholds, or route decisions.

Social and product intention

0Pools is meant to make cross-border value movement less bespoke. Many useful products need fiat-to-stablecoin liquidity: remittance apps, payroll platforms, wallets, contractor marketplaces, card programs, treasury desks, and marketplaces serving users across countries. Without infrastructure, each one has to become a mini exchange, treasury team, compliance operation, and reconciliation shop.

The product intention is to let approved builders focus on the application layer while 0Bit provides a reusable liquidity foundation:

  • Better capital reuse across products instead of isolated balances.
  • Bounded quote acceptance windows instead of open-ended price promises.
  • Server-side execution instead of browser-owned money movement.
  • Partner-scoped records instead of hidden manual reconciliation.
  • Explicit account approval instead of public endpoint exposure.

What a partner actually builds

The browser displays state. The partner server owns quote creation, quote execution, polling, webhook handling, and ledger mutation.

Product boundary

Question0Pools answer
Is this an SDK/widget?No. It is a headless partner API and shared liquidity infrastructure.
Is it public/self-serve?No. Access is approved and configured per partner.
Does it remove all market risk?No. It gives bounded quote locks and partner-visible execution states.
Does it expose the route?No. It exposes pool, quote, trade, status, balance, and ledger records.
Does it replace 0Gate?No. 0Gate is the hosted retail/user-facing product; 0Pools is the infrastructure layer for approved headless flows.

Evaluation model for serious integrators

A partner evaluating 0Pools should be able to answer four questions before writing production code.

QuestionWhat the docs should proveIntegration evidence
Can my product quote safely?Quotes are explicit, short-lived, and tied to a pool lane.Store quote id, expiry, side, amount, and accepted terms.
Can my product execute safely?Execution is server-side and idempotent.Store idempotency key, transact id, execution attempt, and current status.
Can finance reconcile?Every movement joins back to quote, trade, status, event, and ledger.Keep a ledger row even when the user journey fails.
Can support investigate?Support can inspect partner-visible ids without exposing source or provider details.Preserve request id, event id, quote id, trade id, and partner order id.

Example society-scale outcome

Before 0Pools, a remittance app, payroll platform, and neobank might each build separate liquidity relationships, retry logic, quote screens, support dashboards, and finance ledgers. With 0Pools, those products can share the same pool primitives while keeping their own user experience and customer records.

{
  "partner_product": "cross_border_wallet",
  "pool_id": "EUR-USDT",
  "user_intent": "buy_stablecoin",
  "quote_contract": "firm_until_expiry",
  "execution_contract": "server_side_idempotent",
  "reconciliation_contract": "ledger_join_by_quote_and_trade"
}

Product boundary that should be obvious

0Pools is not a generic exchange UI, a promise of unlimited liquidity, or a way for a partner to bypass compliance controls. It is a gated liquidity network with records a developer can build around: entitlement, availability, quote, trade, status, webhook, balance, and ledger.

Implementation depth

This page is about understanding 0Pools as a shared liquidity network. For developers, the durable boundary is simple: your product should depend on a reusable pool, quote, trade, balance, and reconciliation contract; it should not depend on how 0Bit sources, hedges, stores, and rebalances liquidity. That boundary is what lets 0Pools improve liquidity operations without forcing every partner to rebuild product code.

Product scenario

A remittance app, a wallet, and a checkout product all need fiat-to-stablecoin conversion. Instead of each product maintaining separate liquidity logic, they draw from the same 0Pools network and receive a consistent partner-facing record model.

Before and after in practice

Before 0PoolsWith 0Pools
Every product builds a custom liquidity stack, so user pricing, support states, and finance records drift between teams.Each product keeps its own UX but inherits the same entitlement, quote, execution, status, and reconciliation vocabulary.
Product teams infer liquidity behavior from provider-specific screens or manual notes.Product teams branch on 0Pools objects: pool, quote, trade, balance, webhook, and ledger.
Support asks engineering to reconstruct state from logs.Support starts from request id, quote id, trade id, event id, and ledger id.

System flow

Records to keep

RecordWhy it mattersExample
pool_idNames the partner-visible lane.EUR-USDT
sideSeparates buy and sell behavior.on_ramp
statusKeeps UX and ledger decisions aligned.settled
request_idLets support trace an API call.req_...

A useful implementation stores these records before adding optional analytics. Analytics can be rebuilt from durable state; missing ids usually cannot be reconstructed after a customer-impacting failure.

Example product record

{
  "product_area": "index",
  "partner_reference": "partner_order_123",
  "pool_id": "EUR-USDT",
  "quote_id": "pq_test_123",
  "transact_id": "pt_test_456",
  "status": "reserved",
  "request_id": "req_01HZY0POOLS",
  "reconciliation_state": "open"
}

This record is intentionally partner-facing. It references 0Pools objects and your own product ids, but it does not include private liquidity routes, treasury balances, raw provider payloads, or customer secrets.

Failure modes and recovery

Failure modeProduct response
Fragmented balancesUse one pool availability model instead of product-specific assumptions.
Stale price promisesUse indicative quotes for preview and firm quotes for acceptance.
Manual reconciliationPreserve ids and terminal states from the start.
Wrong product layerUse 0Gate when the hosted ramp is the right integration surface.

Use-case patterns

PatternHow 0Pools helps
Consumer walletStablecoin buy/sell inside a wallet experience.
Marketplace payoutsConvert value before paying global sellers.
Treasury movementMove between fiat and stablecoin inventory with audit trails.

Developer checklist

  • Read runtime discovery and capabilities before rendering enabled actions.
  • Create firm quotes only when the user is ready to accept the terms.
  • Execute from your server with an idempotency key.
  • Treat webhooks and status reads as the source of truth for settlement state.
  • Reconcile by durable ids first, then by amount and timestamp.
  • Do not branch product behavior on provider names, route names, reserve balances, or treasury assumptions.

On this page