Skip to main content

Pools and liquidity endpoints

GET /pools​

Query: chain (optional). All pools, including pools on an earlier contract (legacy: true), which accept no new money.

GET /pools/:ref​

FieldMeaning
pair, directionWhat the pool sells
creatorCreator address
acceptingHedges, allowExternalLpSale and deposit settings
structuresopen, capped, minCapDistanceBps, maxCapDistanceBps, openMaxPayoutBps, minStrikeDistanceBps
tenors[{ tenorDays, active, markupBps }]
feeshedgerFeeRateE6, payoutFeeRateE6, lpProfitFeeRateE6, creatorShareE6 (fixed at creation)
liquidity.reservedTotal reserved for active positions
liquidity.free, liquidity.capacityFree capital of backing underwriters
liquidity.cash, liquidity.nav, totalSharesTotal capital held for underwriters
creatorEarningsCreator's accrued fee share
activePositions, latestExpiryOpen exposure

GET /pools/setup​

Pairs open for new pools and the creation fee: { chain, pairs, creationFee }.

GET /pools/:ref/positions​

Active positions sold by the pool.

GET /pools/:ref/lp (auth)​

The user's account in the pool: free, reserved, earned, paid, pendingWithdraw, withdrawable, backing, maxTenorDays.

POST /pools/prepare (auth)​

Create a pool.

{
"pair": "USD/NGN",
"direction": "up",
"allowExternalLp": true,
"structures": { "open": true, "capped": true, "minCapDistanceBps": 300, "maxCapDistanceBps": 2000, "openMaxPayoutBps": 3000, "minStrikeDistanceBps": 200 },
"tenors": [ { "tenorDays": 30, "active": true, "markupBps": 11500 } ],
"initialLiquidity": "1000"
}

POST /pools/:ref/tenors/prepare (auth, creator)​

Body: { tenorDays, active, markupBps }. Adds or updates one tenor. How the markup sets the buyer's price: Premium calculation.

POST /pools/:ref/structures/prepare (auth, creator)​

Body: the structures object.

POST /pools/:ref/deposits/prepare (auth)​

Body: { "amount": "500" }.

POST /pools/:ref/preferences/prepare (auth)​

Body: { "backing": true, "maxTenorDays": 30 }.

POST /pools/:ref/withdrawals/prepare (auth)​

Body: { "shares": "200" }, a USDC amount up to withdrawable.

GET /withdrawals (auth)​

The user's withdrawal requests on every chain and contract.

POST /withdrawals/:chain/:id/execute/prepare (auth)​

Completes a request. Pass contract as a query parameter for requests on an earlier contract.