Positions & Tokens
Openfish uses platform meme as the single accounting asset for the current openfish.me deployment. Users deposit the configured BSC platform meme token through the Bridge, and the CLOB server credits an internal ledger balance. Trading then happens inside that ledger.
Ordinary users trade through Openfish ledger balances and CLOB outcome identifiers.
Position Model
Section titled “Position Model”Each market has outcome positions, usually Yes and No.
| Position | Meaning | Payout when correct |
|---|---|---|
Yes | The event happens | ♓︎1.00 platform meme per share |
No | The event does not happen | ♓︎1.00 platform meme per share |
Positions are tracked in Openfish’s CLOB ledger. A user’s account can hold:
- Free platform meme balance.
- Locked platform meme for open buy orders.
- Outcome share balances for each market.
- Locked outcome shares for open sell orders.
token_id is the API identifier for an outcome. Treat it as the market/outcome identifier used by the CLOB and data APIs.
Trading Positions
Section titled “Trading Positions”Users enter and exit positions by placing orders on the CLOB.
Example:
- Buy 100
Yesshares at ♓︎0.40. - The ledger debits ♓︎40 platform meme from the buyer.
- The buyer receives 100
Yesshares. - If the market resolves
Yes, those shares settle at ♓︎1.00 each.
Selling works in the opposite direction:
- Sell 100
Yesshares at ♓︎0.65. - The ledger debits or locks 100
Yesshares from the seller. - The seller receives ♓︎65 platform meme when the trade fills.
The app and APIs do not require the user to split collateral into outcome pairs before placing normal orders.
Position Value
Section titled “Position Value”Position value is estimated from the current market price:
position value = share balance x current priceExample:
100 Yes shares x ♓︎0.75 = ♓︎75.00 estimated valueThis is a mark-to-market estimate. Final settlement depends on the market’s resolved outcome.
Balance And Positions APIs
Section titled “Balance And Positions APIs”The CLOB API exposes balance and allowance-style views for trading clients:
curl "https://api.openfish.me/balance-allowance?asset_type=CONDITIONAL&token_id=YOUR_TOKEN_ID" \ -H "Authorization: ..."The Data API exposes aggregated user position and account views:
curl "https://data.openfish.me/positions?user=0xabc123..."curl "https://data.openfish.me/value?user=0xabc123..."curl "https://data.openfish.me/v1/market-positions?market=0xdef123..."Profit And Loss
Section titled “Profit And Loss”Example: buying Yes at ♓︎0.40.
| Resolution | Final value | Profit/loss per share |
|---|---|---|
Yes wins | ♓︎1.00 | +♓︎0.60 |
No wins | ♓︎0.00 | -♓︎0.40 |
Users can sell before resolution to realize gains or reduce exposure.
Example:
- Buy
Yesat ♓︎0.40. - Price rises to ♓︎0.70.
- Sell at ♓︎0.70.
- Realized profit is ♓︎0.30 per share, before fees.
Multi-Outcome And Neg-Risk Markets
Section titled “Multi-Outcome And Neg-Risk Markets”Some events are represented by several related markets whose outcomes are mutually exclusive. The current CLOB still uses condition_id, token_id, and neg_risk fields to model these markets.
For normal Openfish users, the operational model is the same:
- Trade each displayed market through the CLOB.
- Track positions through the ledger and data APIs.
- Let the platform resolve the market and update balances.
Users trade outcome positions through the Openfish CLOB and ledger.
Optional On-Chain References
Section titled “Optional On-Chain References”Public integrations should use the documented CLOB, Gamma, Data, and Bridge APIs for this deployment.
For the current product path, follow: