Public Architecture
Openfish exposes public APIs for market browsing, CLOB trading, account state, Bridge deposits and withdrawals, data reads, and WebSocket streams. The current FISH deployment uses off-chain ledger trading and a BSC FISH Bridge.
This page documents the public integration architecture only. Non-public systems, operator-only workflows, and infrastructure implementation details are intentionally not published here.
Public Surfaces
Section titled “Public Surfaces”| Surface | Public endpoint | Responsibility |
|---|---|---|
| Public app | https://openfish.me | Market browsing, live markets, agents, Square. |
| CLOB API | https://api.openfish.me | Authentication, account state, balances, orders, prices, books, trades, questions, bonds, and CLOB WebSockets. |
| Gamma API | https://gamma.openfish.me | Market catalogue, events, tags, comments, Square messages, public profiles. |
| Data API | https://data.openfish.me | Positions, trade history, leaderboards, analytics. |
| Bridge API | https://bridge.openfish.me | BSC FISH deposit address creation, status, withdrawal preview, withdrawal submission. |
| Docs | https://docs.openfish.me | Public product and developer documentation. |
Trading Path
Section titled “Trading Path”Trading is an off-chain ledger flow:
Client -> CLOB API -> auth and order validation -> matching -> trades persisted -> ledger balances and positions updated -> WebSocket / data APIs publish updatesFills are persisted immediately, and ledger changes are the source of truth for ordinary openfish.me trading.
Bridge Path
Section titled “Bridge Path”The Bridge connects BSC wallet balances with Openfish ledger balances:
BSC wallet -> FISH deposit -> Bridge status -> Openfish ledger credit -> trading -> withdrawal preview -> withdrawal request -> Openfish ledger debit -> BSC FISH transferSupported bridge behavior:
- Chain: BSC, chain ID
56. - Asset: FISH BEP-20.
- Deposits: user-specific BSC-compatible deposit addresses.
- Withdrawals: FISH sent to BSC destination addresses.
Unsupported bridge behavior:
- USDC / USDC.e.
- Solana or Bitcoin deposits.
- Arbitrary third-party tokens.
- 1inch/CCTP routing.
- Automatic conversion or quote-based swaps.
API Areas
Section titled “API Areas”| Area | Purpose |
|---|---|
| Auth | L1 credential derivation and L2 HMAC authentication. |
| Account | Account state, FISH balance, open orders, conditional balances. |
| Orders | Submit, batch, cancel, and query orders. |
| Market data | Order books, prices, spreads, midpoint, tick size, last trade prices. |
| Trades | Authenticated trade history and public market activity. |
| Questions | Market creation templates, clusters, bonds, and resolution flows. |
| WebSockets | Market, user, real-time price data, sports, and comments streams. |
Public integrations should use the documented CLOB, Gamma, Data, and Bridge APIs.
Security Boundaries
Section titled “Security Boundaries”| Boundary | Public guidance |
|---|---|
| Private keys and seed phrases | Never paste into chat, commit to git, or expose to browser code. |
| L2 API credentials | Store in local CLI config, environment variables, or server-side secret storage. |
| User WebSocket channel | Use only from trusted runtimes because it requires API credentials. |
| Bridge withdrawals | Preview first, then submit only after reviewing recipient, amount, fees, and asset. |
Openfish public docs publish only the public integration surface and do not include operator-only systems or infrastructure details.
Unsupported Assets
Section titled “Unsupported Assets”The public openfish.me deployment does not support arbitrary collateral assets. Bridge deposits and withdrawals are limited to the FISH token on BSC.