[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81846":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":12,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":20,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},81846,"cinder","cosmic-markets\u002Fcinder","cosmic-markets","Rust terminal UI for Phoenix perpetuals on Solana: live charts, a merged on-chain spline + optional CLOB order book, market and wallet flows, and signed transactions from the shell.","https:\u002F\u002Fcinder.trading",null,"Rust",26,6,0,1,42.64,"MIT License",false,"main",[21,22,23],"eternal","phoenix","solana","2026-06-12 04:01:35","# Cinder\n\n**Cinder** is a Rust-based trading terminal for [Phoenix](https:\u002F\u002Fphoenix.trade\u002F?code=COSMIC) perpetuals on Solana: live charts, a merged on-chain **spline** + optional **CLOB** order book, market and wallet flows, trading, and signed transactions from the shell.\n\n![Rust](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Frust-2021-orange?logo=rust&logoColor=white)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-5865F2?style=flat&logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.com\u002Finvite\u002FXhQrN8FA2C)\n[![X](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-cosmic__markets-000000?style=flat&logo=x&logoColor=white)](https:\u002F\u002Fx.com\u002Fcosmic_markets)\n\n\u003Cp align=\"center\">\n  \u003Cimg\n    src=\"https:\u002F\u002Fcosmic.markets\u002Fimages\u002Fcinder_demo.gif\"\n    alt=\"Cinder TUI — Phoenix SOL perpetuals: order book, chart, trade panel, and wallet\"\n  \u002F>\n\u003C\u002Fp>\n\n> 🔥 **No Phoenix invite yet?** Sign up through Cinder's referral and qualify for the current **Phoenix fee discount** (10% off fees) — see [Referral Funding](#referral-funding) below, or visit [cosmic.markets\u002Fphoenix\u002Ftrade](https:\u002F\u002Fcosmic.markets\u002Fphoenix\u002Ftrade) to register with the `COSMIC` code.\n\n## ✨ Features\n\n- **Markets** — Active and PostOnly Phoenix markets from the HTTP API, auto-refreshed in the background about once a minute.\n- **Spline depth** — Subscribes to each market’s on-chain spline account via Solana WebSocket (`accountSubscribe`) and draws ladder-style liquidity from live updates.\n- **CLOB depth (optional)** — Merges in FIFO L2 levels from the market orderbook account for a fuller book; enable it in user config.\n- **Top positions** — Periodically reads the protocol-wide Active Trader Buffer; open the leaderboard-style modal with **`T`**.\n- **Trading and wallet** — Market, limit, and stop-style flows with confirmation dialogs; with a keypair loaded, deposit and withdraw from the TUI.\n- **Languages** — Built-in UI copy for English, Chinese, Spanish, and Russian.\n\n## 📦 Install\n\nThe easiest way to run Cinder is from [crates.io](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fcosmic-cinder). The published crate is named **`cosmic-cinder`**; Cargo installs the **`cinder`** executable (same name as when you build from this repository). If you prefer not to use Cargo, download pre-built Windows and Linux binaries from [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fcosmic-markets\u002Fcinder\u002Freleases).\n\nTo use Cargo, you need the Rust toolchain: install it with **[rustup](https:\u002F\u002Frustup.rs\u002F)** (official installer; includes `cargo` and `rustc` for Windows, macOS, and Linux). Then run:\n\n```bash\ncargo install cosmic-cinder\ncinder\n```\n\nEnsure `~\u002F.cargo\u002Fbin` (or `$CARGO_HOME\u002Fbin` if you set `CARGO_HOME`) is on your `PATH` so the shell can find `cinder` after install.\n\n## Architecture\n\n```mermaid\nflowchart TB\n    subgraph external [External]\n        PhoenixHTTP[Phoenix HTTP API]\n        PhoenixWS[Phoenix WebSocket]\n        Solana[Solana HTTP RPC and WSS]\n    end\n\n    subgraph cinder [Cinder]\n        Run[app::run]\n        Runtime[TUI runtime]\n    end\n\n    Run --> PhoenixHTTP\n    Run --> PhoenixWS\n    Runtime --> Solana\n```\n\n## Environment\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `RPC_URL` or `SOLANA_RPC_URL` | Recommended | Solana HTTP RPC. **If unset, Cinder falls back to the public `https:\u002F\u002Fapi.mainnet-beta.solana.com`** — public RPC is workable for basic trading. private RPC is recommended for speed. [helius](https:\u002F\u002Fhelius.dev) is our recommended private RPC provider |\n| `RPC_WS_URL` or `SOLANA_WS_URL` | No | WebSocket endpoint (inferred from HTTP when omitted) |\n| `PHX_WALLET_PATH` or `KEYPAIR_PATH` | No | Keypair file path (see [Wallet path resolution](#wallet-path-resolution) below) |\n| `CINDER_FANOUT_PUBLIC_RPC` | No | `0`\u002F`false`\u002F`off`\u002F`no` disables the public-RPC fan-out (see below). Anything else (or unset) keeps the default `on`. The setting is also user-toggleable in the in-app config modal (`[c]`); the persisted value wins once toggled. |\n| `CINDER_SKIP_ORDER_CONFIRMATION` | No | `1`\u002F`true`\u002F`on`\u002F`yes` makes new orders submit immediately on Enter, bypassing the `[Y\u002FN]` prompt. Anything else (or unset) keeps the default `off` (prompt required). The setting is also user-toggleable in the in-app config modal (`[c]`); the persisted value wins once toggled. Only affects placing new orders — closes, cancels, deposits, and withdrawals still prompt. |\n| `CINDER_SKIP_PREFLIGHT` | No | `1`\u002F`true`\u002F`on`\u002F`yes` sets `skip_preflight: true` on every transaction Cinder broadcasts. Anything else (or unset) keeps the default `off`. Faster on slow\u002Fcongested RPCs but loses the early simulation-failure signal — bad transactions still land and burn fees. The setting is also user-toggleable in the in-app config modal (`[c]`); the persisted value wins once toggled. |\n| `RUST_LOG` | No | e.g. `info` or `cinder=debug,phoenix_rise=warn` |\n| `CINDER_LOG_DIR` | No | Directory for transaction error logs (default `~\u002F.config\u002Fphoenix-cinder\u002Flogs`) |\n\n### Public RPC fan-out\n\nBy default, every signed transaction is sent to **both** your configured primary RPC **and** the public `api.mainnet-beta.solana.com` endpoint. The primary RPC remains authoritative for confirmation; the secondary send is fire-and-forget and used purely for delivery reliability when a private\u002Fpaid RPC is slow or drops the submission.\n\nIf you would rather your submissions stay solely on your configured RPC (e.g. for privacy reasons, or because your provider already provides redundant submission), turn the fan-out off via the config modal (`[c] → Public RPC fanout → Off`) or set `CINDER_FANOUT_PUBLIC_RPC=0` before launch.\n\n### Wallet path resolution\n\nWhen `PHX_WALLET_PATH` is unset, Cinder tries the following candidates in order and uses the first one that exists and decodes:\n\n1. `phoenix.json` in the current working directory\n2. `PHX_WALLET_PATH` \u002F `KEYPAIR_PATH` (if either is set)\n3. `~\u002F.config\u002Fsolana\u002Fid.json` (the standard Solana CLI location)\n\nIf you keep multiple wallets, be aware that a `phoenix.json` next to the binary takes priority over both env vars and the Solana CLI default. Delete or rename it to avoid signing with an unintended wallet.\n\n## Build from source\n\nIf you are developing Cinder or need an unreleased build, clone the repository and run from the workspace root:\n\n```bash\n# Debug\ncargo build\ncargo run\n\ncargo build --release\nRPC_URL=https:\u002F\u002Fapi.mainnet-beta.solana.com .\u002Ftarget\u002Frelease\u002Fcinder\n```\n\nFor a published release without building locally, prefer **`cargo install cosmic-cinder`** ([Install](#install)) or pre-compiled binaries (Windows and Linux) from the repository Releases.\n\n## Docker\n\n```bash\ndocker compose build               # one-time (or after Cargo\u002Fsource changes)\ndocker compose run --rm cinder     # interactive TUI run\n```\n\nFor signing, mount a Solana keypair via the CLI. The binary defaults `PHX_WALLET_PATH` to `~\u002F.config\u002Fsolana\u002Fid.json`, which inside the distroless `nonroot` image resolves to `\u002Fhome\u002Fnonroot\u002F.config\u002Fsolana\u002Fid.json`:\n\n```bash\ndocker compose run --rm \\\n  -v \"$HOME\u002F.config\u002Fsolana\u002Fid.json:\u002Fhome\u002Fnonroot\u002F.config\u002Fsolana\u002Fid.json:ro\" \\\n  cinder\n```\n\n## Risk Disclaimer\nTrading perpetual futures is high-risk and can result in the rapid and total loss of your funds. Cinder is provided **as-is** under the MIT license with no warranties; the authors are not liable for any losses, missed fills, RPC outages, on-chain errors, or other issues arising from use of this software. You are solely responsible for your trades, your keys, and your compliance with the laws of your jurisdiction. Nothing in this project is financial advice.\n\n## Acknowledgments\nThanks to the team at **Ellipsis Labs** for building [Phoenix](https:\u002F\u002Fphoenix.trade\u002F?code=COSMIC). Cinder is an independent, open-source TUI client and is not affiliated with, sponsored by, or endorsed by Ellipsis Labs. \"Phoenix\" and any related names, logos, or marks are trademarks of their respective owners and are used here only to identify the protocol Cinder interoperates with.\n\n## Donations\n❤️ SOL donations: `cosmic.sol`\n\n## License\nMIT","Cinder 是一个基于 Rust 的 Solana 上 Phoenix 永续合约交易终端，提供实时图表、链上样条深度和可选的 CLOB 订单簿等功能。其核心功能包括自动刷新市场数据、订阅链上样条账户以绘制流动性阶梯、合并订单簿层级以获得更完整的市场深度视图、显示活跃交易者排名以及支持多种交易类型如市价单、限价单和止损单等。此外，Cinder 还支持多语言界面，并允许用户直接从终端进行钱包操作。该项目适用于需要高性能且直观易用的加密货币交易环境的专业或半专业交易者。",2,"2026-06-11 04:06:56","CREATED_QUERY"]