Overview

BTR is a decentralised exchange. You swap on it, or you provide liquidity to it, and both run on chain against pools whose state and pricing you can read and check yourself. See deployed instances for where it runs and at which addresses.

The exchange runs on an automated market maker of its own design, the Adaptive Inventory Market Maker (AIMM), a synthesis of asset-liability accounting, inventory-aware mid-pricing and singleton multi-asset pooling whose prior art is catalogued in Foundations. The difference from a conventional AMM is where the price comes from. A constant-function pool has to be taught its price by arbitrageurs walking a curve, and pays them for the lesson on every move. A BTR pool is told the price by a signed oracle mark, so it spends its machinery on inventory instead: how deep to quote, which side to favour, and what to charge for the risk it is carrying.

So a BTR pool holds several assets and quotes them from that live mark rather than from its own reserves. Depth concentrates where an asset actually trades, and every quote leans on the pool’s inventory: the side that restores balance is priced better than the side that pushes it further out.

Assets are not arranged around a single hub. Each one anchors to a correlated parent, and a swap prices along the path between its two endpoints, so two assets sharing a parent trade through that parent and never touch the base. The base is the pool’s unit of account and the root the tree ultimately resolves to, not a leg every trade is routed through.

What that means depends on which side of the pool you are on:

  • Liquidity providers: one token in, one fungible position, no range to choose and nothing to rebalance.
  • Traders: quotes are always competitive on the side that rebalances the pool’s inventory, and competitive both ways at equilibrium; the spread is symmetric, and it tracks volatility rather than sitting at a fixed tier.

Anyone can deploy a pool, though administering one is a separate, gated matter.

Core features

FeatureWhat it does
Inventory-aware pricingCoverage ratios move the mid against flow that drains a leg and toward flow that refills it; the spread itself carries no coverage term
Shared liquidityOne reserve serves every asset in the pool, shaped by quartic I-spline presets; legs are grouped by correlated asset class so that flow draining one tends to arrive against another (Pool Composition)
Anchor pathAssets price through a tree rooted at the base token (MAX_DEPTH = 4), along the unique path via the lowest common ancestor
Coverage IL protectionReserves and liabilities are tracked per leg, so an exit from an under-covered leg is haircut rather than paid at face
Price sourcesMarks come from any contract implementing IOracle; cash-collateral units use the internal par helper instead
PageContent
ManifestoProblems, solutions, posture
FoundationsPrior art (Avellaneda-Stoikov, Platypus/Wombat, Curve v2)
1. AIMMModules, pricing, routing
2. DeploymentsDeployments per chain (Arc Testnet today), registry, pools
3. SecurityRoles, pause, oracles, flow guards
4. User GuidesSwapping, providing liquidity, assets and the hub
5. Developer GuidesOn-chain integration, API & SDK, operations
6. RoadmapSpecified but unbuilt designs; nothing in this section is deployed
GlossaryTerms
Risk DisclaimerLegal risk surface