Inventory Management
Market makers quote against the Openfish CLOB. In the current meme/off-chain deployment, fills update the Openfish ledger rather than requiring traders to mint, merge, or redeem on-chain outcome tokens.
The inventory problem is still the same: keep enough platform meme balance available for bids, keep outcome exposure within limits, and rebalance after fills.
What Inventory Means
Section titled “What Inventory Means”| Inventory | Meaning |
|---|---|
| Available meme | Ledger balance that can be committed to new BUY orders |
| Reserved meme | Balance locked by live BUY orders |
| Outcome shares | YES/NO exposure created by matched trades |
| Reserved shares | Shares locked by live SELL orders |
| Claimable payout | Ledger credit created after a resolved market is settled |
You do not need a separate token-splitting step before quoting. The CLOB validates available balances when orders are placed and reserves the required amount while orders remain live.
Before Quoting
Section titled “Before Quoting”- Deposit platform meme through the Bridge.
- Confirm your available ledger balance through the CLOB API.
- Fetch market metadata, outcome token IDs, tick size, minimum order size, and fee rate.
- Set per-market and portfolio-level exposure limits.
Example checks:
let balance = client.balance().await?;let market = client.market(condition_id).await?;
println!("available meme: {}", balance.available);println!("tick size: {}", market.minimum_tick_size);During Trading
Section titled “During Trading”Use order placement and cancellation to control inventory:
| Situation | Action |
|---|---|
| Too much YES exposure | Lower YES bids, improve YES asks, or cancel additional YES bids |
| Too much NO exposure | Lower NO bids, improve NO asks, or cancel additional NO bids |
| Low available meme | Cancel low-priority bids or reduce order sizes |
| Low available shares | Cancel asks that exceed available sellable inventory |
| Volatility spike | Widen spreads and reduce max order size |
The matching engine updates balances and positions on every fill. Your bot should treat the API balance and position endpoints as the source of truth.
After Resolution
Section titled “After Resolution”When a market resolves, the system credits winning positions according to the final outcome and market payout rules.
Operational flow:
- Stop quoting the market once resolution is detected.
- Cancel remaining live orders for that market.
- Wait for the market status and winner fields to update.
- Reconcile ledger balances, resolved positions, and claimable payout records.
- Reallocate available meme to other live markets.
There is no user-facing manual redemption transaction in the current deployment.
Batch Operations
Section titled “Batch Operations”Batching is done at the API and bot layer:
| Need | Recommended action |
|---|---|
| Enter many markets | Fetch market metadata in batches, then place bounded orders per market |
| Exit a risk segment | Cancel orders by market, event, or strategy tag |
| Emergency stop | Cancel all orders for the API key or wallet |
| Daily rebalance | Pull positions, calculate target exposure, then cancel/replace quotes |
Keep batch jobs idempotent. A retry should not double-submit unintended exposure.
Next Steps
Section titled “Next Steps”- Trading — Order entry and quoting best practices.
- Liquidity Rewards — Earn rewards for providing two-sided liquidity.
- Deployment Addresses — Current public endpoints and deployment addresses.