githubEdit

Manage Pool

This document provides a brief overview of single-sided pools and the related operation APIs.

Covered APIs

  • Get submission limits: /api/pool/single/add_request_limit

  • Query available balance: /api/pool/single/balance

  • Get network fee: /api/pool/single/get_network_fee

  • Submit add-liquidity request: /api/pool/single/add_liquidity

  • Update add-liquidity request: /api/pool/single/update_liquidity

  • Cancel matching: /api/pool/single/cancel

  • Remove liquidity: /api/pool/single/remove

Prerequisites

  1. Prepare address fields:

  • payer_address: BTC address

  • payer_asset_address: asset address (usually an Ordinals-compatible address, such as for ORDI/Runes assets)

  1. Prepare the sign_info object:

  • address

  • public_key

  • sign_info

  • signature

  • nonce (anti-replay, retrieve from /api/nonce)

  1. Amount and precision conventions:

  • Pass amount fields exactly as defined by each API (most are string).

  • price_tick_lower and price_tick_upper define the price range boundaries.

  • unit_tick defines the base unit for pricing.

  1. Identifier convention:

  • pool_id is passed as string in pool management APIs.

  1. Call add_request_limit to get submission constraints (minimum/maximum amount, fee settings, etc.).

  2. Call balance to confirm available balance.

  3. Call add_liquidity to submit the matching request.

  4. Use update_liquidity or cancel when needed.

  5. Only before calling remove, call get_network_fee to estimate on-chain cost for liquidity removal.

Status Reference (Common Pool Statuses)

  • MATCHING: currently matching

  • MATCHED: matched

  • MATCHING_ONCHAIN: matching on-chain in progress

  • REMOVING_LIQUIDITY: liquidity removal in progress

  • REMOVED: removed

Before update/cancel/remove operations, query the latest pool status and perform validation checks.

API Details

Get Add-Liquidity Submission Limits

post
Body
Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/add_request_limit
200Success

Query Available Balance

post
Body
addressstringRequired

Address to query

tickstringRequired

Token name

coin_typestringRequired

Token type

pool_idstringOptional

Pool

Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/balance
200Success

Get Estimated Network Fee

post
Body
objectOptional
Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/get_network_fee
200Success

Submit Add-Liquidity Request

post
Body
min_amountstringRequired

Minimum amount

max_amountstringRequired

Maximum amount

min_fee_ratestringRequired

Minimum fee rate

price_tick_lowernumberRequired

Minimum price

price_tick_uppernumberRequired

Maximum price

unit_tickstringRequired

Tick unit

Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/add_liquidity
200Success

Update Liquidity

post
Body
min_amountstringRequired

Minimum amount

max_amountstringRequired

Maximum amount

min_fee_ratestringRequired

Minimum fee rate

pool_idstringRequired

pool id

price_tick_lowernumberRequired

Minimum price

price_tick_uppernumberRequired

Maximum price

unit_tickstringRequired

Tick unit

Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/update_liquidity
200Success

Cancel Matching

post
Body
pool_idstringRequired

pool id

Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/cancel
200Success

Remove Liquidity

post
Body
pool_idstringRequired

pool id

Responses
chevron-right
200Success
application/json
codeintegerRequired
msgstringRequired
post
/api/pool/single/remove
200Success

Error Handling and Retry Guidance

  • Always check code and msg first, and only use data when the request succeeds.

  • Show explicit error prompts for signature failures, nonce replay, and out-of-range parameters (minimum/maximum amount).

  • For transient network issues and timeouts, use idempotent retries and avoid duplicate submissions for the same business intent.

  • Before update/cancel/remove, re-fetch pool status and balance whenever possible.

Last updated