Skip to content

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.


Each market has outcome positions, usually Yes and No.

PositionMeaningPayout when correct
YesThe event happens♓︎1.00 platform meme per share
NoThe 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.


Users enter and exit positions by placing orders on the CLOB.

Example:

  • Buy 100 Yes shares at ♓︎0.40.
  • The ledger debits ♓︎40 platform meme from the buyer.
  • The buyer receives 100 Yes shares.
  • If the market resolves Yes, those shares settle at ♓︎1.00 each.

Selling works in the opposite direction:

  • Sell 100 Yes shares at ♓︎0.65.
  • The ledger debits or locks 100 Yes shares 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 is estimated from the current market price:

position value = share balance x current price

Example:

100 Yes shares x ♓︎0.75 = ♓︎75.00 estimated value

This is a mark-to-market estimate. Final settlement depends on the market’s resolved outcome.


The CLOB API exposes balance and allowance-style views for trading clients:

Terminal window
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:

Terminal window
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..."

Example: buying Yes at ♓︎0.40.

ResolutionFinal valueProfit/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 Yes at ♓︎0.40.
  • Price rises to ♓︎0.70.
  • Sell at ♓︎0.70.
  • Realized profit is ♓︎0.30 per share, before fees.

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.


Public integrations should use the documented CLOB, Gamma, Data, and Bridge APIs for this deployment.

For the current product path, follow: