Live access, trading locked
Browse markets, charts and documentation without signing in. Sign in with a Solana or EVM wallet for account actions and testing trades. Choose Live for live market references or Testing for practice orders. Live orders, deposits and withdrawals are blocked at the server; connecting a wallet cannot enable them.
Your testing balance and positions are saved under your verified wallet account. They have no monetary value and never become live collateral. No custody or settlement contracts have been deployed.
Portfolio margin design
Planned positions share collateral. Liquidation depends on total margin equity versus total maintenance and close-fee requirements, rather than one position reaching an isolated liquidation price. The initial calculation core uses integer microdollars and rounds requirements upward.
Two $5,000 positions at 5× have $10,000 gross exposure and a $2,000 combined base initial-margin requirement, before fees. A $1,000 account needs an explicit hedge-credit policy to support them. Being long one coin and short another is not automatically a hedge. Zero size-based slippage does not eliminate divergent prices, manipulation, insolvency or liquidation risk.
Cross-coin hedge credits are not enabled. Unpaid claims do not count as collateral, and the calculation currently gives no extra credit to net unrealized profits. Correlation stresses, concentration limits, oracle/funding design, backed PnL treatment and liquidation execution need calibration before trading can open.
Reference: Hyperliquid margin mechanics
01. Your testing account
Local preview: when served by the local development server, Testing uses a separate practice account saved on this device for your verified wallet. It does not load or change your hosted Testing balance. Keep the tab open for automatic exits; the hosted background executor does not process local positions. Clearing browser storage removes this local account. Local trades are excluded from hosted platform statistics.
Testing begins with $10,000 in practice funds for a new signed-in wallet. The account, positions, history and scenario settings are saved to the account service. Sign in with the same wallet to resume; different wallets have separate accounts. The old anonymous device balance is not imported.
Database ownership rules prevent other accounts from accessing your testing record. Saves use revision checks; if another tab changes the account, reload before continuing. Failed saves pause testing rather than reset the balance. Testing uses a client-calculated, resettable simulation and must not be used for rewards, leaderboards or monetary claims.
Live prices use market references; Scenario prices use synthetic values for controlled experiments. The chart still shows the spot market. Testing retains isolated position margin while the production portfolio-margin rules are developed. Open Testing .
Operations controls: a private operations console, protected by an approved wallet, a live session check and authenticator MFA, can pause new Testing entries platform-wide and, in an emergency, close one position, close every position for a wallet or cancel its pending orders. Emergency closes use the same fresh consensus reference, fee and liquidation rules as automatic exits; halted or stale prices are never force-filled, and Scenario positions are not touched. While entries are paused the ticket shows Close only, resting entry orders wait, and existing positions can still be reduced or closed. Every action records a reason and an execution receipt in a private audit log. The console has no balance editor, treasury access or market-editing control, and it cannot enable Live funding.
Server-controlled Testing: a server-side Testing ledger with a strict order vocabulary, server-supplied prices and risk checks, and idempotent receipts is implemented and tested but not yet connected to the browser. Existing accounts still use the saved-snapshot model described above and remain ineligible for prizes, airdrops or funded trading. Any migration will be announced here with its method; saved balances will not be silently imported as trusted opening balances.
Position controls and automatic closes
Use Take profit / Stop loss on the ticket or Manage → TP / SL on a position. Targets accept a price, net USD P&L or net ROI. Net P&L subtracts the entry fee allocated to that portion and its estimated exit fee. ROI is that net P&L divided by the margin allocated to the portion, not the full account balance. The price preview updates before you save; the saved trigger is a fixed price. A different entry fill, partial close or price gap can change the eventual dollar result.
You can save up to three distinct take-profit prices, allocating no more than 100% of the position. Unallocated quantity stays open. A stop loss applies to the entire remaining position. Targets that cross on one observation execute in price order at that observed reference, not at invented intermediate prices. Liquidation takes precedence. Manual partial closes proportionally reduce outstanding targets; executing one target removes it while leaving the quantities allocated to the other targets unchanged.
Manage → Limit close creates a reduce-only limit tied to one existing position. It reserves no new margin, cannot reverse the position and is capped by its remaining quantity. Manual or target-driven reductions shrink the order; closing the position cancels it. Other reduce-only fills keep the remaining limit allocations fixed. New entry limit orders reserve the chosen collateral; the entry fee is included in that amount and deducted only when the order fills. All these features are Testing behavior; funded trading remains locked.
Trade history → Receipt shows the executed portion, entry/exit prices and notionals, fees, collateral returned, profit paid and profit still queued. Paid-at-close and current paid amounts are separate because later Payout Engine inflows can service a claim. Receipt timestamps record when Citrus received a price, not a verified venue timestamp. Older trades show Not recorded where metadata was not captured. Queued profit is not withdrawable cash.
Close all positions: a confirmation closes every open position only when all required references are fresh and consistent. A missing quote aborts the entire batch. You can also cancel unfilled entry orders; linked reduce-only orders always cancel when their position closes. Each close still gets its own receipt.
Portfolio: the realized net P&L graph sums retained closed-trade results after allocated fees. 24h, 7d, 30d and All history filters reset the period’s starting P&L to zero. Open unrealized P&L, deposits and withdrawals are excluded. Charts and summary cards use up to 100 retained closes and existing open positions; they are not an authoritative full-history ledger. Unpaid profit is included in realized P&L but shown separately from available balance. History can be sorted by newest, highest or lowest net P&L.
Trade cards: download an image from a trade’s Share button. Cards omit wallet addresses, visibly mark practice results and distinguish paid profit from queued claims. Values are a snapshot at export, not proof of payment.
Before trading: check the payout-risk acknowledgment before an order is prepared. “Don’t show again” remembers the current terms for that wallet account. Updated terms require acknowledgment again. Testing consent grants no wallet transaction authority and does not enable Live trading.
Token links: X, Telegram and website links below the ticker come from DEX Screener’s token metadata. They are token-provided links, not Citrus verification or endorsement. Missing links are omitted.
In Testing, use Manage beside a position to close 25%, 50%, 75%, all, or a custom percentage. Partial closes release the corresponding margin and allocate entry/exit fees to that portion. Profits still follow the Payout Engine queue. Take-profit and stop-loss triggers can be edited or removed.
New limit orders reserve the gross collateral until filled or canceled. The fee is deducted from collateral when filled; cancellation releases the entire reservation. Legacy pending orders retain their original reservation and fee basis. A long limit fills at or below its limit; a short limit fills at or above it. Current leverage and exposure rules are checked again on fill. Orders that no longer qualify are rejected and their reservations released. Close-only markets keep entry orders waiting until they reopen or you cancel.
Live-reference testing positions and orders are checked by a background executor approximately every 30 seconds, including when your browser is closed. It checks liquidation first, then TP/SL, then resting limits. Liquidation uses each position’s existing isolated margin and maintenance requirement. This is not the planned portfolio-margin engine. Trigger prices are not guaranteed fill prices: gaps and downtime use the next valid observed reference. Stale or inconsistent prices pause execution. Scenario prices only move when you change them; background live references never replace scenario prices.
Watchlists and up to three recently viewed markets are saved to your verified account. Mobile Chart, Trade and Positions tabs share the same market selection and chart.
Display preferences and recovery
Display preferences offers Compact and Comfortable spacing and text sizes. On desktop, Full layout is the default for new visitors. Optional Focus view hides discovery and secondary statistics to give the chart more space. Switch to Full layout in Display preferences; your saved choice takes precedence. On mobile, open Display preferences in the header menu. Choose Citrus, Slate or Coast. On desktop, drag the separators to resize discovery, order entry or the positions panel; focused separators also support arrow keys. Guests save these settings on this device. After verified sign-in, changes also sync to that wallet’s preferences. If storage or account sync fails, the interface reports the limitation.
Prices share the same compact format throughout the terminal. For very small prices, the subscript counts leading decimal zeros: $0.0₅25700 represents $0.0000025700. Select a reference or account price with a copy icon to inspect and copy its full calculated decimal value. This preserves the precision available to the app, not additional precision from the original source. The inspection window retains the selected snapshot while market prices continue updating.
Routine refreshes retain the last good prices, original receipt timestamps and chart. A delayed update or offline connection produces one status notice; stale references pause Testing execution. Missing data is not replaced by a made-up value or silently switched to Scenario prices. GeckoTerminal supplies a separate data path and conditional fallback for the DEX Screener reference. Both can observe the same pools; neither guarantees execution during a price dispute.
A delayed chart offers Retry and a direct DEX Screener link. Failed token images use a fallback icon. Startup failures offer reload and documentation links, and unknown addresses have a standalone custom 404 page. Account-loading and save failures pause account actions with recovery controls instead of resetting balances. These states need the site to have loaded: DNS, TLS and initial network failures remain browser-level errors, and the site is not fully available offline.
Wallet sign-in and account access
A message signature verifies wallet ownership through the account service. This is not a transaction, token approval or permission to move funds. Solana and EVM wallets are supported. Each verified wallet identity has its own testing account; wallet linking is not enabled.
Sessions are scoped to this browser tab and checked with the server on reload and focus. Signing out clears private account data from the screen while public browsing remains available. Already-issued access tokens expire within 15 minutes; single-use sensitive authorization is still required before funded features.
On a phone, choose Open in Phantom for Solana or Open in MetaMask for EVM. The link opens this site inside the installed wallet app; tap Sign in there and approve the ownership message. The verified session stays inside that wallet browser and does not transfer back to Safari or Brave. Desktop extensions still work. WalletConnect relay and QR sessions are not implemented. Never enter a seed phrase or private key here.
Suggest a token
The Suggest page lets any verified wallet propose a token by contract address. Citrus looks the address up on DEX Screener and shows the matching markets by chain; choose the right one and confirm. Each wallet can suggest a token once and make up to 20 suggestions a day. You can withdraw your own suggestion at any time.
The public ranking counts distinct verified wallets per token and shows names, liquidity and market cap from DEX Screener. It never shows wallet addresses. Tokens already trading on Citrus are marked as listed. A high count is a research prompt for the founder, not a listing decision: every listing still needs the liquidity, pricing and contract review described under Leverage and delisting, and a suggestion is not a promise. Suggestions have no effect on prices, accounts or execution.
02. Where winning payouts come from
The Payout Engine starts at $0. Realized trading losses and fees grow it. The planned project memecoin may contribute a portion of fees, but no contribution is assumed until funds arrive. Trader deposits and open-position margin are liabilities, not engine income.
On a winning close, original margin is returned after any applicable fees. Profit is paid from available Payout Engine funds. Unpaid profit joins a FIFO queue. In this prototype, the oldest claim may be partially paid, and later claims cannot jump ahead. The queue shows original claim, amount paid, amount remaining, and unpaid amount ahead. This is a per-account Testing simulation, not a shared live queue. Recent engine inflows show up to 40 recorded fees, losses and simulated contributions; older event timestamps are not invented. No payment ETA is promised. Queued profit cannot be withdrawn or used as margin.
Comparison with Papertrade: Papertrade’s on-chain Martingaler queue also returns original collateral immediately and queues only unpaid profit. It differs in that queued balance there can be reused as collateral for new positions, losses pay no fee while winning closes receive a move-sized haircut, and losing traders are minted its PAPER token. Citrus Testing charges a flat 0.1% entry and exit fee, never lets queued profit act as margin, has no token, and keeps the queue as per-account practice accounting rather than a shared on-chain liability. Papertrade queue documentation
Negative engine equity is possible once unpaid claims are counted. A nonnegative cash balance does not establish solvency; open positions can create additional liabilities. A reward token or a growing queue does not create cash.
How Citrus statistics are calculated
Methodology updated September 14, 2026. All dollar figures are USD-denominated. Testing and Scenario dollars have no monetary value. These definitions describe the current implementation; funded execution has not launched.
What each data view measures
Token shows external spot-market data. Market cap, fully diluted valuation (FDV), spot volume and liquidity come from the deepest pool in the selected reference group, normally DEX Screener or GeckoTerminal when its fallback qualifies. Spot volume is that pair’s reported 24-hour volume, not volume across every venue or activity on Citrus. Market cap and FDV are provider estimates; missing values display as unavailable, and FDV never substitutes for missing market cap. See reference-price selection.
Citrus shows platform activity for the selected market. Platform stats sums all listed markets within the selected scope. Live, live-price Testing and Scenario are stored separately and never combined. Live displays zero because live orders, deposits and withdrawals are locked. Testing records practice trades using market references. Scenario records practice trades using user-adjustable example prices.
Notional trading volume
Fill notional = executed token quantity × execution price in USDVolume = sum of the absolute notionals of recorded fills
Each user opening and each closing counts once, whether long or short. Opening notional already includes leverage: $200 gross collateral at 5× opens $1,000 of exposure and contributes $1,000 volume, not $200 or $5,000. The opening stores this notional; closing notional uses the quantity actually closed and its exit price. Fees are tracked separately and are not added to volume. No additional counterparty or Payout Engine leg is invented.
Partial closes count only the quantity closed. Market orders, filled limits, take-profit exits, stop-loss exits and liquidation closes all count. A liquidation is one closing fill and is not added twice. Pending, rejected or canceled unfilled orders, reserved margin, deposits, withdrawals, payout queue payments and edits to TP/SL contribute no volume. Repeated saves of the same recorded fill add nothing.
Worked example: ignoring fees, open 2,000 tokens at $0.50 with $200 margin at 5×. Opening volume is $1,000. Close 500 tokens at $0.60: this adds $300 volume, leaving 1,500 tokens open. Close the remaining 1,500 at $0.45: this adds $675. The complete round trip contributes $1,975 volume. The opening and two closes are three fills.
Open interest (OI)
Market long exposure = remaining long quantity × current reference priceMarket short exposure = remaining short quantity × current reference priceMarket OI = long exposure + short exposurePlatform OI = sum of market OI in USD
Citrus uses gross user exposure: every open user position counts once. Longs and shorts are not netted, and the total is not divided by two. A $1,000 long and a $1,000 short contribute $2,000 OI even when they are in the same market. This convention must be checked before comparing OI with another platform. The synthetic counterparty adds no separate position to this total.
OI measures remaining exposure at current prices, not posted margin, entry notional, account equity, available cash or payout capacity. Price changes can change USD OI without a trade. Closing reduces remaining quantity; pending limit orders add no OI until they fill. In the example above, after the partial close, 1,500 tokens at $0.60 produce $900 OI. If the reference falls to $0.45 before the final close, OI becomes $675. The final close reduces it to zero.
Positions come from the latest saved account state. USD OI is calculated in the viewer’s browser using its current reference quotes, so it is an indicative valuation, not a canonical settlement oracle value. Scenario OI uses the viewer’s locally selected scenario prices; different viewers can value the same simulated quantities differently. The chart depicts a spot pair and may differ from the aggregated reference used for OI.
Time windows, updates and unavailable values
24-hour volume sums fills whose server recording timestamp is within the preceding 24 hours at snapshot generation. It is a rolling window, not a midnight reset. The timestamp is when a saved trade first reaches the metrics log, not the client’s trade time or a blockchain timestamp. A delayed save can therefore enter a later window. Volume since tracking began includes all recorded fills from the collection start shown in Platform stats. Each market and platform total follows the same rules.
The server schedules aggregate snapshots every 30 seconds; the browser polls every 30 seconds. Successful API responses can be cached for 10 seconds at the CDN and 5 seconds in the browser. These are not real-time guarantees: saves, background-tab throttling, scheduling or network failures can cause further delay. The panel’s timestamp is the aggregate snapshot time, shown in your local timezone, not the time of its latest price.
A snapshot older than two minutes, or a failed refresh, is marked delayed. The last valid snapshot can remain visible; without one, statistics show unavailable instead of fabricated zeros. OI requires a usable consensus reference received within 45 seconds and not dated in the future. Legacy scenario fixtures retain their 60-second age limit. Missing or stale prices for nonzero exposure show a placeholder instead of a value; if any exposed market cannot be valued, the platform’s corresponding OI total is also unavailable rather than silently excluding it. Zero quantity remains zero even without a quote. Receipt time measures when Citrus received the data, not the age of the provider’s underlying trades.
Recording, resets and data limits
A database trigger observes accepted Testing account saves, records newly seen openings and closes, and updates remaining position quantities. Fill identities prevent duplicate recording; a reset generation separates reused position IDs after a reset. Resetting or deleting an account removes its open exposure but retains already recorded historical volume. Reset itself is not a closing fill, so it can reduce OI without increasing volume. Trimming the on-screen trade history does not erase fills already recorded in the metrics log.
Collection began September 14, 2026. Existing positions were included in outstanding exposure without reconstructing earlier volume from incomplete account histories. Unsaved activity is absent. An event removed from the capped account history before a successful save may never be captured, so lifetime volume means recorded volume since collection began, not a guarantee of every historical trade.
Testing statistics are client-editable practice telemetry. Wallet ownership checks protect access to accounts; they do not independently prove submitted balances or executions. The current totals are not audited, wash-trade-filtered or Sybil-resistant, and no unique-human activity is implied. They are not real-money exchange volume and must not determine competitions, points or airdrops. Those uses need trusted execution, anti-abuse controls and a separate reward ledger.
Public statistics and the read-only metrics API contain aggregates, not wallet addresses or individual orders. The private operations console reads the same aggregate snapshots plus reference-health history. Individual records remain private. Controlled development verification records are removed after tests; any future change to these definitions or data correction should be documented here.
Other displayed metrics and rounding
Fills counts recorded openings and closes in the window. Open positions counts remaining position records, not traders or wallets. Fees sums recorded opening and exit fees; it is not simply volume multiplied by the headline rate because Testing exit fees are capped by available position equity. Liquidations counts position closes marked liquidated, while liquidated notional sums their closed quantity × exit price. Both are already included in fill count and volume.
Opening notionals and fees are rounded to six decimal places by the Testing engine. Closing notionals and OI use quantity × price. The interface rounds displayed dollars to cents or compact K/M notation, so adding rounded labels can differ slightly from the unrounded aggregate. Volume counts positive notional for both directions regardless of profit or loss.
The public API provides the underlying aggregates at Live metrics JSON, Testing metrics JSON and Scenario metrics JSON. Its volume fields are USD notionals; longQuantity and shortQuantity are token units and must be multiplied by the corresponding current reference price to reproduce OI. The API does not return an authoritative USD OI quote.
03. Reference prices and execution checks
Citrus uses consensus-v1 for its indicative Testing references. DEX Screener is the primary data API; GeckoTerminal provides an independent data path and cross-check. These APIs can observe the same pools, so a second API is not a second liquidity vote.
- For each provider separately, keep the configured chain and exact base-token contract, a positive finite USD price and at least $10,000 reported pool liquidity. Deduplicate pool addresses. Solana addresses remain case-sensitive.
- Give each eligible pool a weight of
min(reported USD liquidity, $500,000). Find the highest-weight group whose highest and lowest prices differ by no more than 3% of its lowest price. - A usable group needs at least two pools and 75% of the eligible capped weight. Excluded pools still count in that denominator. A minor outlier can be excluded; a substantial split remains a halt.
- The reference is the group's weighted median: sort by price and choose the first price where accumulated weight reaches half the group total. An exact half-weight tie selects that price.
- Compare the two provider references. A difference above 3% of the lower reference halts execution. A qualified primary can continue with a warning when the backup is absent or has weak internal agreement, provided any available backup reference is within the cross-check limit. A still-present, unqualified primary is not replaced merely to avoid its halt.
- If no fresh primary observations remain, the backup may supply the reference only if its own group qualifies. Retained responses preserve their original receipt times; data older than 45 seconds cannot execute positions.
Example: pools at $1.00 and $1.01 each have $500k capped weight; another pool at $1.05 has $10k. The agreeing group holds about 99% of the capped weight, so the small outlier does not veto it. Two equal-weight pools at $1.00 and $1.10 cannot form a qualified group and remain paused.
The hosted collector runs approximately every 30 seconds, independently of open browser tabs or active accounts. The browser and background Testing executor use its reference policy. Provider requests time out; the public snapshot retains its observation time during an outage. Local development requests the providers directly with bounded request caching.
The private operations console records seven days of observations and displays the latest 24-hour counts and interruption samples. Sample counts are not uptime: missing collector runs leave gaps. An unavailable price is never replaced by a fabricated zero or a newly timestamped old price.
The chart shows an individual DEX Screener pair; the header and Testing execution use the aggregate. They can differ. Scenario prices remain a separate synthetic exercise. Unreliable references pause closes, stop-losses and automatic liquidations too; positions remain exposed during that pause. Low-liquidity markets allow reductions only while a reliable reference exists.
Freshness currently measures API receipt time, not a verified on-chain trade timestamp. Pool liquidity is reported liquidity, not executable depth or proof of independent ownership. This is a more resilient Testing reference service, not an audited production settlement oracle, guaranteed execution, or zero-downtime promise. Pyth is not active. A funded oracle still needs approved feeds, source timestamps, chain finality, manipulation-cost and exposure limits, authenticated updates and reviewed outage/settlement rules.
Hyperliquid price-index design · Pyth integration guidance
04. Leverage follows market quality
Testing-only limits: below $100k reported liquidity in the deepest pool, new opens stop; $100k–$1m allows up to 2×; $1m–$5m up to 3×; $5m+ up to 5×. Absolute 24-hour price changes above 30% cap new leverage at 2×. These arbitrary test parameters are not production listing thresholds. 10× remains disabled pending stress tests.
When a limit falls, existing positions retain their stored maintenance requirement and original entry leverage. The limit applies to new positions. A threshold change alone does not liquidate a trader; market losses can. The prototype uses 2.5% of current notional as maintenance plus an exit-fee allowance. Gaps can exhaust margin and create bad debt; recorded gap debt is diagnostic, not recovered from users.
Low-liquidity markets become close-only while reliable pricing remains. Unreliable or stale prices pause execution rather than close traders at a fabricated price. Production retirement needs a preannounced wind-down, settlement methodology, dispute/fallback process and a liveness solution if prices never recover. Merely dropping leverage to 1× or 2× does not solve oracle manipulation.
05. Fees and proposed token
The entry fee is 0.1% of opening notional, deducted from the chosen collateral. With $1,000 collateral at 5×, the position opens at $5,000 notional, the $5 fee goes to the engine, and position margin becomes $995. Only $1,000 is debited from the available balance. Quantity and entry notional stay unchanged, so effective leverage after fees is slightly above the selected 5× and the liquidation estimate uses $995. Legacy positions keep their recorded margin. The exit fee is 0.1% of quantity closed × actual exit price, on both profitable and losing exits, capped by available position equity. It is reserved in the auto-close calculation alongside 2.5% maintenance, not charged while the position remains open. At close, returned collateral is automatically credited after that fee; queued profits are already net of any fee allocated to them and are not charged again on payment. Testing has no separate withdrawal or manual claim action. In an extreme gain where the fee exceeds funded collateral, the excess reduces the profit claim without creating engine cash. Reported fees are assessed fees; the inflow journal records only fees actually taken from funded collateral. Funded wallet settlement is still unimplemented.
Realized losses earn one testing point per dollar. These points have no value, transferability, revenue claim or voting power. The proposed real token, fee routing, loss rewards, governance, issuance curve and protection against intentional-loss farming are unimplemented and require economic design.
06. Build status & next steps
Available now: community token suggestions ranked by wallet count, public market browsing, Solana and EVM wallet sign-in, wallet-linked Testing accounts, watchlists and recent markets, market and limit entries, partial closes, up to three take-profit targets and a stop loss, reduce-only limit closes, close all, trade receipts and share cards, portfolio P&L, three themes with saved layouts, two-provider consensus references, platform activity statistics, and a private operations console with emergency Testing controls.
Not live: deposits, withdrawals, funded trades, production portfolio margin, token issuance or reward distribution. Wallet custody and settlement architecture remain proposals, and existing Testing balances are not eligible for prizes or airdrops.
Next: connect the server-controlled Testing ledger and migrate accounts with a disclosed method; complete operations authenticator enrollment; collect reference observations before tuning consensus parameters; decide custody, collateral chain and portfolio risk; then build settlement on testnet and commission independent review. Solana and Robinhood Chain remain the settlement priorities; BNB currently supplies market references.
Listings are owner-selected. Formal listing and automatic delisting criteria are drafted but not adopted; community nominations and voting are planned. A listing may be rejected, or moved to close-only, if its price cannot be supported safely.
Release history
v0.9.0: the Suggest page with DEX Screener address lookup, one vote per verified wallet per token, a public ranking with Listed on Citrus markers, dark theme-matched order tickets for Slate and Coast, and a sliding discovery-tab highlight. Live funded actions remain locked.
v0.8.0: two-provider consensus references with DEX Screener primary and GeckoTerminal cross-check and fallback, a shared hosted reference snapshot with 45-second execution freshness, seven days of private price observations, a private MFA-protected operations console with Testing pause, emergency-close and audit controls, and the server-controlled Testing command foundation. Live funded actions remain locked.
v0.7.0: close all positions, fees deducted from collateral, closing-value fee reserves, portfolio P&L and history sorting, private trade-card export, token social links, wallet-saved themes and panel sizes, responsive market headers, side-by-side movers, payout queue detail and versioned risk acknowledgment. Live funded actions remain locked.
v0.6.0: USD/ROI exit planning, partial take-profit targets, reduce-only limit closes, expanded receipts, display density and Focus controls, full-price inspection, quieter refreshes, dialog and market-picker polish, and updated recovery states. Live funded actions remain locked.
v0.5.0: Citrus branding, platform volume and open interest, separate spot/platform metrics and mobile token statistics.
v0.4.0: mobile wallet handoffs, mobile workspace tabs, watchlists, recent markets, partial closes, editable stops, limit orders and scheduled testing execution.
v0.3: wallet accounts, saved Testing data, Live/Testing separation, notional sizing and the Citrus theme.
v0.2: DEX-style terminal, token artwork, custom controls, navigation and recovery states.
v0.1: practice trading, reference prices, isolated margin and the Payout Engine simulation.