Changelog
v2.53.1Every change to ChipaX, newest first. The patch number counts commits and the minor number counts releases, so v2.53.1 is the 1ᵗʰ change since release 53.
November 6, 2026
- Bybit-style ROI TP/SL, fix TP/SL being dropped, remember chart settings
- TP/SL take a price or an ROI % that scales with leverage, with quick picks; an ROI target becomes the right price for the side at submit - submitOrder's deps missed the TP/SL state, so values entered after the quantity were never sent; also report a rejected TP/SL instead of hiding it - Remember the last timeframe, chart type and indicators across coins
99b0409e · Vigo Walker - Fix QuantumFlux buy/sell signals collapsing to dots
The study's label shapes had no text and auto size, so they rendered as dots; the text overlay only ran when added from the menu. Draw BUY/SELL labels in the study itself and upgrade saved layouts on load.
1c83029d · Vigo Walker
November 4, 2026
- Rebuild the dashboard to match Bybit's
Profile card (level, account mode and verified-sign-in chips), My Assets with the BTC equivalent and Deposit/Withdraw, For You with live HLP, HYPE staking and top-vault APRs, the recommend-us survey (saved through /feedback/nps), Markets with Favorites/Hot/New/Gainers/Losers/Turnover and spot/perp, My Rewards as tasks, referral code with Affiliate Portal, and feedback. Account sidebar items renamed as on Bybit (Overview, Rewards Hub, Referral Program, Preference Settings). Translated into es/fr/pt/de.
60ce51c8 · Vigo Walker - Deposit and withdraw pages; Deposit buttons across the app
- /deposit: the full deposit flow (Arbitrum USDC, Solana, any crypto, history) as a page with steps and an FAQ; DepositModal can now render inline. - /withdraw: USDC to an Arbitrum address with fee and amount received shown, a 6-digit emailed code to confirm, a success screen and recent withdrawals. - Deposit button in the signed-in top bar; Deposit and Withdraw in the account sidebar, on Assets and on the dashboard. - The signed-in top bar no longer overflows: links that also live in the account sidebar leave the bar below 1280px (Portfolio, Affiliate, Rewards, Academy move into More) and below 1536px (Scripts, Watchlists, Alerts, Orders, Assets).
f64527bf · Vigo Walker - Logo opens the landing page; Chipa community links; trade portal page
- #394 The navbar logo now links to / instead of the BTC desk. - #395 Links to chipatrade.com/community in the More menu (new tab), the landing footer, the community feed's sidebar and the ecosystem page. - #396 /trade-portal like Bybit's: an announcements ticker, hero with Hyperliquid's 24h volume and market count, Trade Spot / Derivatives / Demo, a desk picture drawn from BTC's real 24h price, latest listings and API / mobile / web cards. Linked from the Trade menu; in the sitemap; translated into es/fr/pt/de.
866ded32 · Vigo Walker - Add Earn at /earn and retire the placeholder vaults page
Live Hyperliquid yields (HLP, HYPE staking, trader vaults) with honest APRs, including negative ones; HLP deposit and withdraw from the ChipaX perp balance with the risks and four-day lock stated and acknowledged; trader vaults and staking link to Hyperliquid. /vaults, which listed invented vaults and APYs, now redirects here. Earn added to the top nav and sitemap; translated into es/fr/pt/de.
3088c83c · Vigo Walker - Fix rewards and API keys; stop the API proxy turning 204s into 500s
Rewards reads /rewards/me (Hyperliquid all-time volume plus demo volume) instead of recent fills, so it works for demo-only accounts and counts every trade. The API keys panel talks to the new /api-keys through the proxy, the 'withdraw' scope is gone and the key format shown is the real cx_ prefix. The proxy now returns 204/304 without a body: before, every successful DELETE (keys, alerts, watchlists) reached the browser as a 500.
a5d35662 · Vigo Walker - Add the Chipa Ecosystem page at /ecosystem
Bybit-partnerships-style hero, three value points, a filterable grid of the live Chipa products (ChipaX, ChipaTrade, ChipaFlow, the AI assistant, Bots Marketplace, ChipaAuth, ChipaDocs, BinaryOptionsToolsV2, AthenaAI, AxiomTrade API, chipax-python, the community) with how each connects to ChipaX, and Discord/GitHub/X calls to build with the team. ItemList JSON-LD; in the sitemap and the More menu; translated into es/fr/pt/de.
ce140ef9 · Vigo Walker - Add Market Pulse at /market-pulse (Bybit Learn style)
Topic chips, level filters, two-column article cards and paging; article pages with canonical /en URL, Open Graph and AnalysisNewsArticle / BreadcrumbList JSON-LD; a learn card and a newsletter box wired to the existing newsletter API. Articles are in the sitemap; Market Pulse is in the More menu. Translated into es/fr/pt/de.
7f396038 · Vigo Walker
November 3, 2026
- Rebuild the main sitemap hourly instead of only at deploy65938990 · Vigo Walker
- Add Bybit-style announcements centre at /announcements
Dark hero, category sidebar with search (plain GET form, crawlable), paged list with pinned items; article pages server-rendered with title, description, canonical /en URL, Open Graph and NewsArticle + BreadcrumbList JSON-LD, a safe Markdown subset and related announcements. Every announcement is in the sitemap; Announcements added to the More menu. Translated into es/fr/pt/de.
290205d9 · Vigo Walker - Posts sitemap: always list the feed so it is never an empty urlset
Search Console rejected /social/sitemap.xml with 'Missing XML tag: url' while there were no posts. The feed URL now comes first, dated by the newest post.
026753ab · Vigo Walker - Add the ChipaX community feed (/social) with SEO-ready post pages and a posts sitemap
Bybit-style three-column feed: section menu, composer with #topics and $coin links, Hot/Latest, likes, comments, sharing, topic and author views, and a rail with sign-up and hot topics. Post pages are server-rendered with their own title, description, canonical /en URL, Open Graph article tags and SocialMediaPosting + BreadcrumbList JSON-LD. /social/sitemap.xml lists every published post with its last change and is referenced from robots.txt. Community added to the top nav; translated into es/fr/pt/de.
2b1b48a8 · Vigo Walker - Turn /spread into a funding-rate board
Every Hyperliquid perp with $50K+ daily volume: hourly funding, annualised APR, open interest and volume, sortable and filterable (longs pay, shorts pay, cash-and-carry), with summary cards and cash-and-carry cards for coins that have a genuine spot leg. Listed as Funding Rates in the More menu.
a9336877 · Vigo Walker - Add spot-vs-perpetual spread board at /spread (not linked to execution)
Bybit's spread trading pairs spot, perpetuals and dated futures. Hyperliquid has no dated futures, so each card pairs a coin's spot market with its perp: both leg prices, spread and basis, hourly funding and its annualised APR, and buttons that open each leg's desk. Legs whose prices disagree by more than 10% are not the same asset and are skipped. Adds funding to market rows.
1e50d600 · Vigo Walker - Add a settings page
Account (email, UID and Hyperliquid address with copy, explorer link, sign out), preferences (language, demo/live mode, hide balances, accent colour), browser notifications for price alerts, and clearing saved favourites. Theme colours now persist per browser. Linked from the account sidebar and the user menu; translated into es/fr/pt/de.
70494d99 · Vigo Walker - Keep the account sidebar on every account page
The sidebar lived inside the dashboard page, so it vanished as soon as you opened any of its links. It is now a shared AccountSidebar pinned under the navbar, added through a layout to dashboard, assets, portfolio, orders, watchlists, alerts, notifications, rewards and referral, with the page content offset beside it.
2824a5a8 · Vigo Walker - Add Bybit-style account dashboard at /dashboard
Account sidebar, profile header with UID copy and Hyperliquid address, getting-started steps driven by real account state, total equity card with hide/show, Deposit/Transfer/Trade, perp and spot balances, live markets widget (hot, gainers, new) and explore cards. User menu now links Dashboard and Portfolio. Translated into es/fr/pt/de.
f2ff1116 · Vigo Walker - Redesign copy trader detail page in Bybit's layout
Purple hero with followers, trading days, trades, equity, style tag, favourite and Copy; Performance card (ROI, master's PnL, win rate, drawdown, avg PnL per trade, win/lose bar, ratios); Statistics / Trades / Positions / Verification tabs with an Earnings chart (cumulative ROI and profit) and daily Profit bars. Translated into es/fr/pt/de.
a3e3ac4e · Vigo Walker - Redesign copy trading page in Bybit's layout
Dark hero with platform stats and a promo slider, three shortcut cards, Leaderboard / All Traders / Favorites / Subscribed tabs, leaderboard shelves (balanced, ROI, new talents, most copied, lowest drawdown), Bybit-style trader cards with favourites, and a followers' guide. Copy, my-copy and lead panels are unchanged. Translated into es/fr/pt/de.
b2a84d38 · Vigo Walker
November 2, 2026
- Add Bybit-style markets board at /markets, built on Hyperliquid and the ChipaX API
Overview cards (sentiment, volume, sectors), Spot/Perpetual tabs, top gainers / newly listed / trending, category chips, sortable paged table with 24h high, low, sparkline and Trade/Details, favourites, live refresh. Translated into es/fr/pt/de and added to the sitemap; Navbar Markets now opens it.
64f27c57 · Vigo Walker - Sign in with email and password inside ChipaX (via ChipaAuth)
The auth modal now offers an in-app email/password form with sign-in and create-account tabs when the API has a ChipaAuth key configured, keeping the hosted ChipaAuth page for Google and GitHub. Without the key the modal is unchanged. The API proxy forwards the client IP so sign-in rate limits are per person.
44d07ae3 · Vigo Walker - Add language support: /en /es /fr /pt /de routing, detection, switcher, hreflang, translated core pages652921c1 · Vigo Walker
- i18n routing: /[lang] pages, language detection proxy, localized Link/router, SEO
WIP checkpoint: routing and infrastructure, before text is wrapped
67576f12 · Vigo Walker - Landing page in the style of Bybit's (#376)
- Hero: tag, headline, product line, Sign up free / Try the demo, and continue with Google, GitHub or email; a live market panel beside it with the day's trending perp (24h line) and tabs for hot perps, top gainers and trending Solana tokens (stocks, stables and LSTs filtered out) - A row of real numbers from Hyperliquid: markets, max leverage, spot pairs, 24h volume - Product bento: perpetuals, copy trading, trading bots, Solana memecoins, copy Solana wallets - ChipaX's own dark brand and copy; Bybit's layout, not its look-alike assets
81f8cc96 · Vigo Walker - Solana copy trading: track wallets, copy signals, one-tap copy (#374)
- /solana/copy: track any wallet, a PnL-ranked list of tracked wallets, and a live signal inbox (polled every 5 s, browser notification when the tab is in the background) with each token's rug check - /solana/copy/[address]: on-chain stats, open positions, trades linked to Solscan, and follow settings (SOL per buy, follow sells, skip likely rugs) - One-tap copy: a signal opens the token's swap panel pre-filled (buy amount, or the leader's sell share of your holding) for you to sign in your wallet; likely rugs are shown but not suggested - 'Copy wallets' link on the Solana tokens page
ec5ace7b · Vigo Walker - Trading bots page (#251)
- /bots: trend-following bots on BTC, ETH, SOL, HYPE and XRP, each card with a 90-day out-of-sample backtest after fees, the live paper record since launch and its current position - Start a bot in demo (guests too) or live, with allocation, leverage and a risk acknowledgement for live; your bots with stop (keep or close) - How-it-works sheet with the full rules and recent signals; a methodology note naming the strategies that were tested and rejected - Bots in the navbar; the login button no longer wraps
a46db857 · Vigo Walker - Demo trading without an account
Logged-out visitors can place demo trades: the first order starts a guest session (never on page view, so crawlers don't create any), positions and balance show as usual, and a note invites them to sign up. Signing in hands the guest's demo over to the account.
e138d67c · Vigo Walker - Landing page at / and no login wall on market pages
- / is a real home page: live Hyperliquid market count and prices, what you can trade, how to start, fees and where your money is, footer links - Sign-in no longer opens by itself on trade desks, demo or markets; it is asked for on account-only pages and when you try to act
1c0891af · Vigo Walker - Solana token page scrolls like Bybit on desktop
The desk fills the screen with the panel tabs peeking below; the page scrolls down to the panel at its full height instead of a resizable strip.
9b3f63a6 · Vigo Walker - Solana token page: resizable bottom panel; Rug check opens it tall
Drag the top edge (or double-click / arrow keys) to resize; the height is remembered per browser. Opening the Rug check tab grows the panel so the report is readable without scrolling a 185px strip.
3923d17d · Vigo Walker
October 29, 2026
- Rug detector on Solana token pages, list badges and buy warning (#375)
- Rug check tab: chance of a rug and of never doubling, verdict, the signals behind it, Telegram members/online, dev and holder facts, and ChipaAI's written read (loaded when the tab opens) - Swap panel shows the verdict; buying a likely rug needs a deliberate tick - RUG / WEAK badges in the Solana token list - Tokenized stocks, stablecoins and LSTs are shown as out of scope
eef8630b · Vigo Walker - Copy trading: Bybit-style leaderboard and verifiable trader pages (#370)
- /copy: 7D/30D/All tabs, sort by ROI, PnL, win rate, drawdown, copiers or AUM, search, cards with sparkline, win rate, max drawdown and copier AUM - /copy/[id]: ISR trader page with SEO metadata and JSON-LD — performance chart, trading stats, coin mix, live positions, paged trade history with every trade linked to its Hyperliquid transactions, and the copy sheet - On-chain verification: the browser re-reads the trader's Hyperliquid portfolio and fills directly and recomputes ROI, PnL, drawdown, trades and win rate (lib/copyVerify.ts mirrors the API's copy_stats.py) - Trader pages listed in the sitemap
d1542f72 · Vigo Walker - Serve fallback token logos from /api/token-logo
The previous fix routed blocked logos through Next's /_next/image, which works locally but is switched off on Firebase App Hosting (404 for every URL), so those logos still failed in production. /api/token-logo fetches the logo server-side instead: allow-listed hosts only (IPFS re-pointed at Pinata), redirects must stay on the list, image types only (never SVG), 2 MB cap, 10 s timeout. Responses are cached a week in Next's data cache and marked immutable for the CDN. The unused images config is removed from next.config.ts.
7c50e4cb · Vigo Walker - Halve GeckoTerminal calls on token pages; skip direct IPFS logo loads
Production /api/solana requests hit GeckoTerminal's keyless rate limit (~15% 503s over 30 min), mostly for tokens with nothing cached yet. - token/pool lookup cached 5 min (was 1): the page's live price comes from Jupiter and the routes only need the pool - latest candles cached 60 s (was 30), trades 30 s (was 15); chart and trades panel poll at the same intervals - IPFS logos go straight to the image optimizer via Pinata: browsers are always refused by ipfs.io, so the direct try only added console errors and delay COINGECKO_API_KEY remains the real fix for the rate limit.
8da52d5f · Vigo Walker - Show token logos that their hosts refuse to embed
Brand-new tokens showed a blank logo: Jupiter's logo for them is usually a raw ipfs.io link, and ipfs.io refuses cross-site embedding (ERR_BLOCKED_BY_RESPONSE) and throttles servers too. - TokenLogo retries a failed direct load through Next's image optimizer, then falls back to the initial. IPFS links are re-pointed at Pinata's gateway first — ipfs.io, dweb.link, w3s.link and nftstorage.link all answered 429 in testing - the optimizer only fetches from an allow-list of token-image hosts (lib/tokenImageHosts.ts, shared with next.config images.remotePatterns), so it is not an open proxy; quality is pinned to 75 as Next 16 requires - the token desk prefers GeckoTerminal's CDN logo, which loads directly
61163e19 · Vigo Walker - Solana token pages: /trade-style desk, server-side market data, indexable (#371 #372 #373)
#372 — price/chart data not loading: GeckoTerminal now answers any request carrying a browser Origin header with 429, so the chart's direct calls failed for everyone. Chart candles and trades now come from new routes (/api/solana/[mint]/candles, /trades) that call GeckoTerminal server-side, cached and shared by all visitors (one short 429 retry, last-good fallback). The chart keeps retrying its first load (3/6/12 s) instead of dying on one failure. With COINGECKO_API_KEY set, the same data comes from CoinGecko's on-chain API under that key's limit. #371 — token pages now look like /trade/BTC: pair bar with 24h stats and wallet, chart, recent trades where the order book sits (pools have no book), swap panel, and a Balances / Token info / About panel below. Phones get /trade's chart and trade modes with the same tab bar. Only one of the desktop/phone trees is mounted, so there is one chart and one set of pollers. Balances are fetched once and shared with the swap panel. #373 — 'noindex' on token pages: they are now server-rendered with the token's name, price, liquidity and volume in the title (≤60 chars), description (≤160), H1, BreadcrumbList/WebPage JSON-LD and a generated About summary, and are indexable. Unknown mints are a real 404. Trending Solana tokens are added to the sitemap.
2f6417b7 · Vigo Walker
October 28, 2026
- Retry CoinGecko once instead of twice on coin pages
Keyless CoinGecko barely answers App Hosting's shared IPs, so a second retry only added load and ~6 s to cold coin-page renders. One 800 ms retry, then the instance's last good response. Setting COINGECKO_API_KEY (already read by lib/coinInfo.ts) is what lifts the limit.
ef41cff4 · Vigo Walker - Keep coin pages complete when CoinGecko rate-limits
Production calls CoinGecko keyless from App Hosting's shared IPs, so bursts hit 429 and pages briefly lost their name, description and supply sections. - cgGet retries 429/5xx twice (800 ms, 2 s; honours Retry-After, capped at 3 s) and falls back to the instance's last good response - drop build-time pre-rendering of the top 20 coins, which fired dozens of CoinGecko calls at once; generateStaticParams returns [] so every coin is still ISR (rendered on first visit, cached, revalidated every minute) Next only caches 200 responses and serves stale entries while a refresh fails, so once a coin's profile loads it stays put.
8d46ec00 · Vigo Walker - Expand coin pages into full, SEO-tuned coin information pages (#248)
New content, all server-rendered so crawlers see it: - "price today" summary written from live data (unique text, unlike the copied CoinGecko description) - 30D / 90D / 1Y chart switch done with CSS radios, no client JS - price performance (1h–1y) and intraday low/high by period - spot volume, volume/market cap, oracle price, community sentiment - futures & funding: 7-day average funding, OI vs market cap, hourly funding bar chart - SYM↔USD converter tables, contract addresses (real addresses only, major chains first), cleaner categories (ecosystem/index tags last) - FAQ grows to 8–9 entries (1 SYM in USD, 1-year performance, OI) SEO: titles ≤60 and descriptions ≤155 characters with price up front, WebPage JSON-LD with dateModified and sameAs links, visible "Updated" time, top 20 markets pre-rendered via generateStaticParams. No extra CoinGecko calls — new fields ride on the existing cached requests.
27d4cf54 · Vigo Walker - Deposit any crypto via ChangeNOW in the deposit modal (#219)
Adds an "Any crypto" option to the deposit modal: pick one of ~1,160 coins, see the minimum and the USDC it yields, get a ChangeNOW pay-in address (with QR, and a memo/tag warning for coins that need one), then follow the exchange through confirming → converting → sending until the USDC reaches the user's ChipaX deposit address. - shown only when /account/deposit/any/currencies reports enabled, i.e. once the API has a ChangeNOW partner key - an exchange still waiting for funds is resumed when the modal reopens - apiErrorText() surfaces FastAPI's `detail` instead of the raw JSON body
6076b5c2 · Vigo Walker - Charge the ChipaX swap fee on the Solana desk via Jupiter referral
Sets NEXT_PUBLIC_JUP_REFERRAL_ACCOUNT (Ca2D3sxi…PQZv7) and a 50 bps fee in apphosting.yaml. Verified against live /order quotes: SOL-fee swaps return the referral account and feeBps 50; mints without a referral token account (e.g. USDC) fall back to Jupiter's default fee, which the desk never hits since every swap is against SOL.
58dc87bf · Vigo Walker
October 27, 2026
- Add a Solana memecoin trading desk: any SPL token, from the user's wallet
New /solana pages trade any Solana token — meme coins and fresh pump.fun launches included — through Jupiter Swap V2, signed by the user's own wallet (Phantom, Solflare, Backpack via the Wallet Standard). ChipaX never holds Solana keys or funds, and every third-party call runs in the browser so Jupiter's own eligibility rules apply to the actual user. - /solana: Trending / Top traded / New launches lists and search (Jupiter Tokens API), risk flags (suspicious, mint/freeze authority, holder concentration, liquidity), organic score, and the connected wallet's holdings - /solana/[mint]: GeckoTerminal candle chart on the existing TradingView library, token stats and audit, and a swap panel (/order + wallet sign + /execute) with price impact, fees and an explicit acknowledgement before buying a flagged token - keyless Jupiter calls share one queue spaced to its 0.5 RPS limit; optional ChipaX referral fee via NEXT_PUBLIC_JUP_REFERRAL_ACCOUNT and NEXT_PUBLIC_JUP_REFERRAL_FEE_BPS - /solana needs no ChipaX login, so the sign-in prompt no longer auto-opens there; "Memecoins" added to the navbar
aacb98a8 · Vigo Walker - Request Unit Solana deposit addresses from the browser
Unit geofences by IP and refused ChipaX's US-hosted API for every user. lib/unit.ts now asks Unit from the user's browser and verifies the guardian signatures with WebCrypto (2 of 3 P-256 keys) before an address is shown, so Unit's eligibility check applies to the actual user. - SolanaDeposit reads deposit progress from Unit's /operations directly - a region refusal is shown as such and stops the 20s polling - /account/deposit/solana now only supplies the destination and whitelist
e5d7cd12 · Vigo Walker - Add Solana token deposits and fix spot trading for Unit-bridged tokens
- Deposit modal: USDC (Arbitrum) / SOL & SPL tokens (Solana) switch; new SolanaDeposit component with the Unit deposit address, QR code, supported tokens and minimums, and live deposit progress; Solana deposits also listed in the History tab - Spot markets: route and display Unit tokens by symbol (SOL → USOL pair) with a SOL tag in the market picker - MarketContext exposes spotMarket and marketCoin (the HL pair identifier); chart, order book, pair header and order form now read the spot pair's own data instead of the same-named perp - Order form: spot orders use the pair identifier, and prices/sizes follow HL spot precision (lib/spot.ts) — limit prices were rounded to 1 decimal - Fix deposit history always empty (API wraps the list in { deposits }) Requires the matching ChipaX-API change to /hl/spot/markets.
9e2aa945 · Vigo Walker
October 25, 2026
- Add copy trading page and update navigation linkse9a60bc5 · Vigo Walker
- Add copy trading functionality with related interfaces and API methods9dc2bd28 · Vigo Walker
- Add Open Graph image generation for coin pages and update metadata structuree696a619 · Vigo Walker
- Enhance mobile responsiveness and improve UI elements across various componentsce859dbb · Vigo Walker
October 24, 2026
- Refactor code structure for improved readability and maintainability28c879da · Vigo Walker
- Add coin pages and data fetching for market information109ba375 · Vigo Walker
- Update version to 2.49.0 and modify changelog entries90882253 · Vigo Walker
- Update version to 2.48.0 and modify changelog entries264948d1 · Vigo Walker
- Update version to 2.47.0 and modify changelog entries80f5f300 · Vigo Walker
- Update changelog and version to 2.46.0 with recent changes029781e0 · Vigo Walker
- Remove Bug Bounty link from footer and navbar50a622c8 · Vigo Walker
- Remove Bug Bounty page component4d758f67 · Vigo Walker
September 1, 2026
- Label the deposit address and show the proof behind the label
The Arbitrum deposit address is a freshly derived EOA, so Arbiscan shows it bare — a user comparing the modal against the explorer finds nothing that says ChipaX. Show the name tag here instead, and back it with something checkable. The pill carries the label from GET /verify/address/{address}; the disclosure below it exposes the signed statement, the signature, and a link to Arbiscan's signature verifier. Deliberately not a "verified" badge we award ourselves — a checkmark rendered from our own API response proves nothing, so the UI hands over the material to check elsewhere. The proof renders only when the attestation names the address on screen, so a response that arrives after the address changes is dropped rather than shown against the wrong address. Claude-Session: https://claude.ai/code/session_01LPnHrrySuGwcBAQ9b8sgrU
9f51523e · Claude
August 22, 2026
- update882533cf · Your Name
August 19, 2026
- Log in with a same-tab redirect on every device
The popup flow was structurally doomed: phones block popups, and ChipaAuth's cross-origin redirect severs window.opener on desktop, so the login completed inside the popup instead of the app. One flow now: redirect to ChipaAuth in the same tab, come back via the callback, which returns to the page login started from.
fc64183d · Vigo Walker - Stop overpromising on the bounty and rewards pages
The bounty tier pills now read as planned amounts under a visible 'Program not yet active' badge. Reward perks that do not exist yet wear a Soon tag, with a note that XP counts now and reached levels are honored when each perk ships — the XP maths were always real, the unlocks were not.
d24bffae · Vigo Walker
August 18, 2026
- Fix desktop login and send the referral code at onboard
ChipaAuth's cross-origin redirect severs window.opener, so the callback mistook the popup for a full-page redirect, navigated it to the app, and the popup's own AuthContext consumed the pending token — leaving the real window waiting forever. The popup is now recognised by window.name, which survives the redirect, and the auth popup never consumes a pending token. The ?ref= code captured on first touch now rides the onboard call so the backend can attribute the signup, and the affiliate page counts platform signups alongside HL's on-chain referrals.
4e7133ee · Vigo Walker - Put the bottom tab bar on every page and unsquish the data tables
The tab bar is now the app-wide navigation on phones: fixed to the bottom everywhere, with the trade page keeping its own copy whose Chart/Trade tabs switch modes in place — tapping those from another page navigates over and opens the requested screen (read via an effect, not the state initializer, which was a hydration mismatch that crashed navigation). Portfolio and alerts tables get minimum widths inside their horizontal scrollers so columns stay readable instead of crushing.
a2a64fe7 · Vigo Walker - Free the mobile chart and move navigation to a bottom tab bar
The chart screen is now nothing but the chart: no navbar, no account/asset strip, no drawing toolbar — pan and pinch edge to edge. The LIVE/DEMO and asset strip appears only on the order screen, where choosing an account and market is the task at hand. A bottom tab bar — Chart, Trade, Portfolio, Orders, Alerts — carries both the mode switch and the rest of the app, standing in for the hidden top navbar. Modes toggle by CSS rather than unmounting, so the chart never reloads when flipping between them.
cd8736d5 · Vigo Walker - Give phones the two-screen trading layout the big apps use
One screen is the chart, full width with a single Trade button; the other is the order screen, form beside the live book with the positions tabs below and a Chart button back — the Bitget/Binance pattern, because on a phone you are either reading the market or placing an order, never both. Desktop keeps the three-column terminal untouched; both live and demo trade pages share the layout.
2a4956b4 · Vigo Walker - Make the app usable on phones and mark the bug bounty inactive
Login failed on mobile because the ChipaAuth popup either gets blocked or opens as a detached tab whose storage the polling modal never sees. Coarse-pointer/small viewports now use a full-page redirect: the callback stores the token and returns to where login started, and AuthContext consumes a pending token on mount. The trade page was three desktop columns crushed into a phone width. Below md it becomes a scrolling stack — chart at readable height, then the order form, then the book — while the desktop layout is untouched. The bug bounty page now says plainly that the paid program is not active yet: the tiers are the intended future rewards, and disclosures are credited, not paid, until it launches.
aa2e1468 · Vigo Walker - Capture referral context and report client-side analytics moments
?ref= and document.referrer are stored on first touch, before any navigation loses them, and ride along on the login event. The deposit modal beacons once per open.
f18094ca · Vigo Walker - Show the deposit minimum and relay fee in the deposit modalcd9098a7 · Vigo Walker
- Stop claiming Testnet on mainnet
The navbar badge was hardcoded; it now renders only when NEXT_PUBLIC_HL_TESTNET is set. The wallet-reset copy loses its testnet wording, and notes that the old key stays recoverable — true since the vault, and the thing a user staring at that confirm needs to know.
78f76ed6 · Vigo Walker - Drive Hyperliquid network choice from one flag
Direct-to-HL calls (price fallback, live-candle WebSocket) each named their own endpoint, one of them testnet — mixing venues with the backend proxy. NEXT_PUBLIC_HL_TESTNET now decides both, defaulting to mainnet to match the production flip.
44a19c67 · Vigo Walker - Add the /oauth consent page for account linking
Where a Chipa product (ChipaEditor first) sends its user to link their ChipaX account. The request is validated against /oauth/client before anything approvable is shown, sign-in reuses the ChipaAuth modal, and approve/deny/failure all exit by redirecting back to the product with either a code or error=access_denied.
a3906e58 · Vigo Walker
August 17, 2026
- Replay trades as an actual simulation instead of a pan
The recorder loaded the whole chart and then panned the visible range across it, so every candle after the entry was already on screen: the outcome was visible before the trade played out, which is not a replay. The charting library edition we ship has no bar-replay mode, so panning was the only thing it could offer. The replay is now painted directly onto a canvas from the candle data. That allows a bar to be revealed while it is still forming — walking open to extreme to close — and it lets the price scale ease toward its new bounds rather than snap, so the chart moves continuously rather than one jump per bar. The entry level, the profit region, the exit marker and a running PnL figure are drawn as the trade progresses. It also removes the iframe canvas compositing that made recordings come out blank: the canvas the user watches is the one being recorded, so there is no second rendering path to drift.
c1639196 · Vigo Walker - Rebuild PnL sharing on the Nocturne share card
The old share modal painted its own canvas, which meant the exported image and the on-screen preview were two implementations that could drift. ShareTradeCard is now the single source of truth for both: it is sized in container query units, so the same component serves the in-app preview, the 1200x675 landscape export and the two portrait sizes. Export rasterises the card through an SVG foreignObject. That cannot fetch subresources, so the referral QR is encoded to a data URI at render time rather than served as a file — which also keeps the code on the card and the link behind the QR from ever disagreeing. The referral code is still a placeholder pending a real referral backend; it lives in one constant so there is a single place to change.
56f161e8 · Vigo Walker - Show the demo account on portfolio, orders and assets
/demo/portfolio was reading the live Hyperliquid account and showing real balances under a demo URL, which is precisely the confusion the demo mode exists to prevent. Orders and assets had the same problem. All three now read the paper account when the path says demo. A shared adapter reshapes it into the payloads these pages were built against, so they render it unchanged and the two modes cannot drift apart visually — practising on a different-looking screen defeats the point. Portfolio shows demo equity, positions and history; orders lists resting demo orders including armed take-profit and stop-loss exits; assets reports the paper balance with an empty token table, since a paper account has no spot wallet to enumerate. Every loader re-runs when the mode changes rather than leaving the other account's rows on screen.
bae5cd16 · Vigo Walker - Run the whole app in demo mode under /demo
Demo was only the trading desk, so a demo trader who opened Portfolio or Orders was looking at their real account without being told. The mode belongs to the product, not one page. A proxy rewrites /demo/<anything> onto the same route, so every page renders from the same code with the /demo prefix intact in the address bar, and the client reads the mode straight off the path — no stored preference to go stale and no route to duplicate. /demo alone lands on the trading desk. Internal links carry the mode through a href() helper, so browsing from the demo desk to Portfolio stays in demo and leaving it has to be deliberate. The live/demo switch keeps you on the page you were reading: /demo/trade/ETH toggles to /trade/ETH rather than dumping you at a default market. Verified: /demo, /demo/portfolio, /demo/alerts, /demo/watchlists, /demo/marketplace, /demo/changelog and /demo/orders all render, navbar links from a demo page all point back into /demo, and toggling live from /demo/trade/ETH lands on /trade/ETH.
6bba4c3d · Vigo Walker - Give demo trading its own route at /demo/trade/[coin]
Demo was a stored preference, so which account an order would hit depended on what the last session had chosen and the URL said nothing. It is now a place: /demo/trade/BTC is the demo desk, /trade/BTC is live, and each pins the mode on arrival — a live link opens live even if the browser last remembered demo, which is the direction that matters. The desk is the same components as live trading, because rehearsing on a different screen than the one you will trade on defeats the point; only the account behind it changes. The header toggle navigates between the two routes instead of flipping state in place, and changing market from inside demo stays in demo rather than dropping into live. Verified: /demo/trade/BTC titles as Demo and lights the amber toggle, clicking live lands on /trade/BTC, and opening /trade/ETH with demo stored as the preference still opens live.
aaf2d7ac · Vigo Walker - Send take-profit and stop-loss with demo orders
The form already collected them for live trading; they now reach the demo engine too, so a demo order behaves the same way as the live one it is meant to rehearse.
3269dc3a · Vigo Walker - Wire the trading UI to the demo account
A live/demo switch in the pair header routes the order form, positions, history and balance to the paper account. The mode persists across sessions, because a trader who left in demo yesterday should not return to an order form that looks identical but spends real money — while it is on, the toggle and the header edge are amber. Demo positions are reshaped into the live position format so the existing table renders them unchanged, including the liquidation price the engine computes. Balance shows equity rather than deposits, since that is what an account with open positions is actually worth. Switching modes refetches immediately instead of leaving the other account's numbers on screen until the next poll. Spot is refused in demo: the engine models perps, and silently treating a spot order as a perp would teach the wrong thing.
05ba9a01 · Vigo Walker - Include public/ in the traced build so static assets stop 404ing
Every file under public/ returned 404 in production — the logo, the svgs and the whole charting_library, so the chart could not load at all. Removing standalone output did not help: Firebase App Hosting deploys the traced file set, and tracing only keeps what the code demonstrably touches. Nothing references public/ from code, so the entire folder was dropped. The giveaway was that exactly one file survived: public/changelog.json, which the changelog page reads with readFileSync — tracing followed that read and kept it, which is why one asset served while its neighbours did not. outputFileTracingIncludes now pins the folder to every route. Verified against the build output: the trace manifests list all 364 public files, including charting_library.standalone.js and chipa-logo.png, where they previously listed only changelog.json.
8d35ee15 · Vigo Walker - Stop standalone output from dropping public assets in production
exchange.chipatrade.com returned 404 for every file in public/ — the logo, the svgs, and the whole charting_library, so the chart could not load at all. The requests fell through to the prerendered 404 page (x-nextjs-prerender: 1) because output: 'standalone' deliberately omits public/ from the build: a standalone build carries the server and nothing else. The Dockerfile copies public/ and .next/static back in afterwards, so the container was fine and nobody noticed. Firebase App Hosting deploys the build as it finds it, and there was nothing to serve. Standalone is now opt-in through BUILD_STANDALONE, which only the Dockerfile sets. Verified both ways: a default build produces no .next/standalone and keeps public/ in place, and BUILD_STANDALONE=1 still produces the standalone tree the image expects.
d45b35c9 · Vigo Walker - Show the current version in the footer without a restart
next.config.ts reads version.json when the server starts and bakes it into an env var, so a running dev server keeps whatever version it booted with — the footer sat at 2.22.30 while the repo had moved on. The badge now reads the version from the changelog file in /public, which is served from disk and rewritten on every commit, falling back to the build-time value if the fetch fails. Verified against a dev server still holding 2.22.30 in its env: the footer shows 2.23.0.
309ae42c · Vigo Walker - Add a changelog page and make the version number move again
version.json sat at 2.22.30 with nothing to bump it. A pre-commit hook now raises the patch and a pre-push hook raises the minor and resets the patch, so "2.23.4" reads as four commits since the 23rd release. Both are counters seeded from the version the file already held, so the numbering continues instead of restarting at a commit count. The major stays manual. The bump is staged by the pre-commit hook so it travels in the commit it describes. A pre-push hook can't join the push that triggered it — the refs are already fixed — so the minor lands with the next commit and trails the live deploy by one push. /changelog renders commit history from a JSON file written at commit time, since the deployed build runs from a snapshot without git history. Entries are grouped by day and show the reasoning from the commit body, with plumbing commits filtered out; the version badge in the ticker links to it.
595c32c1 · Vigo Walker - Fix the trade replay recording producing a blank video
The recording chart was rendered at left:-10000 to keep it out of the way, but browsers throttle rendering for off-screen content, so the charting library never painted and every captured frame was empty background. It now records on screen, scaled down to fit the dialog while keeping its full internal resolution, so the user watches the replay as it captures. Frame compositing also used the parent-side iframe offset together with rects measured inside the iframe: two different coordinate spaces, which under a CSS scale would both misplace and shrink every canvas. In-iframe rects are now used on their own. A capture whose frames are entirely background is reported as a failure instead of handing over a black file, and the finished video plays back in the dialog rather than only being downloadable. Verified in the running app: a scaled on-screen chart composites 7 canvases into a non-blank frame and records a 247KB webm.
85dfdec4 · Vigo Walker - Warn in the order form when the trading agent needs re-approving
The order form now asks the API for the real approval state on load and shows a banner when the agent has lapsed or expires within two weeks, with a one-click re-approve when the key is available in the session. Until now the first sign of a lapsed approval was a rejected order.
c4e192e9 · Vigo Walker - Add automatic chart pattern detection
"Auto chart patterns" in the Chipa Indicators menu scans the last 400 bars and draws what it finds: double tops and bottoms, head and shoulders and its inverse, and ascending, descending and symmetrical triangles — each outlined leg by leg, labelled, and given its measured target as a dotted line where the pattern implies one. Everything is built from pivots — swing highs and lows that stand clear of their neighbours — because each classic pattern is a statement about the shape of consecutive pivots. Detection is deliberately conservative, with a price tolerance and a minimum pullback, since a pattern drawn where none exists is worse than a blank chart. Overlapping matches resolve to the richer pattern, so a head and shoulders isn't also reported as two double tops. Also fixes header buttons racing the header widget: createButton throws if the header hasn't mounted, and chart-ready doesn't imply header-ready. The buttons had been created on the wrong signal all along and had started failing outright — they now wait on headerReady. Verified against live BTC data: six patterns detected and drawn as 6 labels and 22 outline and target segments.
3bdde353 · Vigo Walker - Add volume candles and range bars to the datafeed
Bars that close on volume or on price movement are a Trading Platform chart type this Charting Library build doesn't have — but the datafeed decides what a bar is, so they're built here instead and handed over as ordinary bars. New resolutions: V10/V50/V100 close a bar once that much base volume has traded, R25/R50/R100/R250 once the bar spans that much price. Both aggregate from one-minute candles, and each bar keeps the open time of the minute it started so the series stays strictly increasing. Live updates rebuild the tail from recent candles on a poll: a bar that closes on its own terms can't be described by the time-based candle socket. These are approximations — one minute is the finest input Hyperliquid offers, so a bar can overshoot its threshold by whatever happened inside that minute. True range bars need tick data. Verified the aggregation against a synthetic series: 100 candles at volume 3 give ten V30 bars each of exactly 30, a one-per-minute drift gives ten R10 bars each spanning at least 10, and bar times increase strictly in both.
8e228c83 · Vigo Walker - Add trade replay video export
Closed trades in Trade history get a replay button. It opens a dedicated chart sized for video, marks the entry and the exit with the trade's PnL, then pans the visible range forward one bar at a time from before the entry to past the exit while recording, and hands back a .webm to download. Configurable: timeframe, playback speed, 720p/1080p/square output, how many bars of context to show either side, and whether to overlay Quantum Flux. The chart lives in an iframe, so each frame is composited by drawing every chart canvas onto one output canvas at its own offset — panes, scales and all — and that canvas is what MediaRecorder captures. Recording uses its own widget instance off-screen, so the chart being traded on is untouched. Hyperliquid reports fills rather than round trips, so a closing fill is paired with the most recent opening fill on the same coin and side to recover the entry price and time. Verified in the running app: 7 chart canvases composite into a non-blank frame, VP9 is selected, and a 40-frame capture produced an 87KB webm.
347a7df0 · Vigo Walker - Add the marketplace page and load library scripts into the chart
/marketplace browses published scripts, publishes new ones with named setting fields per indicator, mints and redeems invite codes, and manages your library. Scripts you add appear under a "FROM MARKETPLACE" heading in the chart's Chipa Indicators menu and apply with their saved inputs.
5f997d85 · Vigo Walker - Add the watchlists page and let alerts target a list
/watchlists manages named symbol groups: create, rename in place, add and remove symbols, delete, with live mid prices beside each symbol and a link through to that market. The alert dialog gains an "Applies to" selector — this symbol only, or any watchlist — so one alert can cover a whole group.
a1627f29 · Vigo Walker - Add volume profile, and fix restored drawings breaking the shape API
Restoring chart state with widget.load() after the chart was ready left the chart in a state where createShape and createMultipointShape silently returned undefined. Any user who had drawn something would have lost the BUY/SELL signal labels with no error to explain it. The saved state now goes to the widget constructor's saved_data option instead, which skips the post-ready reload; verified that drawings survive a reload and new shapes can still be created afterwards. Volume Profile (VPVR) joins the Chipa Indicators menu as the first "drawing" indicator: volume is bucketed into 24 price rows over the last 300 bars of the chart's interval and drawn as horizontal bars anchored to the latest bar, with the point of control in gold. Each bar's volume is spread across the price band it actually covered rather than dumped at its close. Clicking the entry again clears it. It is drawn with the shape API because study plots are vertical — one value per bar — and a volume profile is the transpose of that. getVisibleRange() reports {0,0} in this library build, so the window comes from the candle feed.
d5cbfe80 · Vigo Walker - Add deep history, custom intervals, study-on-study and CSV export
First batch from the TradingView Premium feature list, limited to what this charting library edition and the Hyperliquid feed can actually support. Hyperliquid caps a candle request at roughly 5,000 bars — measured, not documented: asking for 10,000 one-minute bars returns about 5,200. getBars now walks the range backwards in chunks, capped at eight pages (~40k bars) so a wide range can't fan out into unbounded requests. Enables study_on_study (apply an indicator to another indicator's output), custom_resolutions (type any interval instead of picking from the list) and chart_style_hilo, and adds an Export button that downloads the visible chart data with all indicator columns as CSV.
5f6545f2 · Vigo Walker - Enable the chart drawing tools and keep drawings across reloads
The drawing toolbar was switched off (left_toolbar disabled and the side toolbar hidden), so none of the line tools were reachable. Enabling it brings back the full set: cursors, trend lines, Gann and Fibonacci, geometric shapes, annotations, patterns, prediction and measurement, emoji, ruler, zoom, magnet, drawing mode, lock all, hide all and remove all. Undo/redo comes back to the header with it, since drawing without undo is painful. Drawings only persist with a save/load adapter, so chart state is saved per symbol to localStorage on the library's autosave signal and restored when the chart is ready — BTC's drawings stay off the ETH chart. Verified in the running app: the toolbar renders every group, and a drawn horizontal line survives a full page reload with its id intact.
1134d515 · Vigo Walker - Stream live chart prices over Hyperliquid's websocket
The chart's only realtime path was a 10s poll of the candle endpoint, so the price on screen could be ten seconds stale and moved in visible steps. subscribeBars now opens a websocket to Hyperliquid and subscribes to the candle channel for the chart's symbol and interval. It also subscribes to allMids and applies mid prices to the live bar between candle frames: the candle channel only emits on trades, which on a quiet market measured three frames a minute against fourteen for mids. The browser connects to Hyperliquid directly rather than through the API — a persistent socket via Cloud Run would hold an instance open and bill for every second a chart is on screen. The socket points at the same environment the bars come from (the backend candle proxy serves testnet: its last close matched the testnet mid, not mainnet's), overridable with NEXT_PUBLIC_HL_WS_URL. Ticks more than 5% from the last known bar are dropped, so a misconfigured URL degrades to the poll instead of drawing a wrong price. The poll stays as a backstop, and reconnects back off from 1s to 30s. Verified in the running app: the chart's legend price moved through 10 distinct values in 50 seconds, updating within 2s of each change.
8e5b1f01 · Vigo Walker - Add a full alerts management page
The bottom-panel tab is too cramped to actually manage alerts, and there was no way to see at a glance which ones are armed. /alerts now lists every alert with its status, condition, trigger mode, channels, fire count and when it last fired, with filters for active and paused, per-row pause/edit/test/delete and multi-select for bulk pause, resume and delete. Alerts that differ only by id are easy to create by accident, so identical settings are flagged as duplicates in the list. Reachable from the navbar and from a "Manage all" link on the chart's alerts tab, which stays for quick access while trading.
cc26c59d · Vigo Walker
August 16, 2026
- Allow the API proxy base to be overridden
Lets the UI be pointed at a local API with CHIPAX_API_BASE so features can be tested before they are deployed. Defaults to the deployed API, unchanged.
7fb349ca · Vigo Walker - Add alerts UI — create, manage and receive alerts
A "🔔 Alert" button on the chart toolbar opens a dialog for the current symbol: condition (crossing, above/below, percent move, Quantum Flux signal), timeframe, trigger frequency, optional message and expiry, and per-alert notification channels — desktop, email, Telegram chat id, Discord webhook and a generic webhook URL. An Alerts tab beside Positions lists alerts with pause, edit, delete and a Test button that fires every channel so wiring can be checked without waiting for a real trigger, plus a log of what has already fired and how each channel delivered. Alerts are evaluated server-side, so AlertNotifier just polls /alerts/events for anything newer than this browser has seen and raises a desktop Notification, requesting permission when the desktop channel is first ticked.
539dcaf2 · Vigo Walker - Draw real BUY/SELL text labels for Quantum Flux signals
Custom studies can't render text inside a shape plot — the API exposes no text or size for shape markers — so the signal markers were an unreadable ~13px glyph. Read the study's plot values back with exportData and draw a white-on-colour "BUY"/"SELL" badge at each signal bar with the chart shape API instead. Labels are cleared and redrawn when the study is re-added or the timeframe changes, since they're pinned to bar times.
68505d4d · Vigo Walker - Highlight Quantum Flux signal candles with a bar colorer
The label shapes render, but they are a ~13px glyph and signals are rare (two in a 301-bar window on BTC 1h), so they are easy to miss. Add a bar_colorer plot that recolours the signal candle itself in bright green or red. bg_colorer was tried first and draws nothing in this library version.
eec9334a · Vigo Walker - Make Quantum Flux markers render and use the larger label shape
Two separate problems kept the buy/sell markers off the chart: - `shape_label_up`/`shape_label_down` were paired with `textColor` and `histogramBase`, which the library's own shape studies never set. Matching the built-in metainfo (plot_0..plot_3 ids, isHidden, _metainfoVersion 52, scriptIdPart) makes the shape plots draw. - The state machine committed its state only when a new bar opened, so when the library replayed history over the same study instance the state never rewound and the trigger flags were lost. State is now a per-bar timeline that rolls back whenever a bar is re-run. Verified against the rendered canvas: the shape plot draws exactly one marker per signal. Uses the label shape rather than the arrow — at roughly three times the pixel footprint it's the most visible option the custom-study API offers, since it exposes no marker size or text.
ae27d2ee · Vigo Walker - Fix Quantum Flux buy/sell markers not rendering
The shape plots used `shape_label_up`/`shape_label_down` plus `textColor` and `histogramBase`, none of which the library's own shape studies use, and nothing was drawn. Match the built-in shape metainfo exactly: arrow shapes, `isHidden: false`, and no extra style keys.
265246fe · Vigo Walker - Add Quantum Flux custom indicator and Chipa Indicators chart button
Ports the "Quantum Flux [Strict Alternating]" Pine v5 script to a TradingView custom study: denoised OHLC, EMA/z-score/RSI confluence and a strict-alternating BUY/SELL state machine with ATR take-profit and stop-loss levels. All lengths and multipliers are exposed as study inputs. Two PineJS constraints shaped the implementation: - Std.ema/Std.stdev keep running state, so the NaN warm-up bars of the denoised series poisoned them permanently. The denoise falls back to the raw price while its SMAs warm up. - Series only expose the history depth Std.* helpers happen to request, so persistent state is kept in instance fields committed per bar rather than in new_var series. This also makes the non-repainting one-bar shift rollback-safe on the live bar. Adds a "Chipa Indicators" dropdown to the chart header that lists our custom studies and adds the selected one to the chart.
29a54082 · Vigo Walker
May 16, 2026
- feat: /spot/margin/[coin] route with 5x leverage cap and Margin tab in OrderForm8133250b · Vigo Walker
- fix: update margin spot logic in trade dropdown to reflect correct leverage70582fd5 · Vigo Walker
- feat: Trade dropdown 2-panel layout with Margin Spot 5x categoryeacb3b03 · Vigo Walker
- feat: extend trade dropdown to include margin trading option80ab5e9a · Vigo Walker
- fix: update guidelines in IMPOTANT.md for clarity and completeness8bb199b5 · Vigo Walker
- feat: implement trade dropdown with market data lazy-loading and search functionalityb0469cba · Vigo Walker
- feat: enhance Navbar with CoinLogo component and improved price formattingc250ddcb · Vigo Walker
- fix: spot UI always shows on /spot/ route regardless of coin's spot market availability15309952 · Vigo Walker
- fix: spot dropdown shows spot markets with correct prices and navigationc23428c8 · Vigo Walker
- feat: update coin filtering logic in PairHeader for market type handlingcb1c0c7d · Vigo Walker
- feat: add spotMarkets to PairHeader for enhanced market data access3a57ad2d · Vigo Walker
- feat: enhance OrderForm with navigation links for market type toggle66c31aa9 · Vigo Walker
- feat: import Link component for enhanced navigation in OrderFormec660340 · Vigo Walker
- feat: add SpotRoot component to handle redirection to /spot/PURR42014dec · Vigo Walker
- feat: enhance MarketProvider to accept initialMarketType for improved flexibilitybd35f59e · Vigo Walker
- feat: include market type in PairHeader display for better clarity1d8f95be · Vigo Walker
- feat: update OrderForm to display spot-specific labels and balances0a53064b · Vigo Walker
- feat: conditionally display margin and TP/SL controls based on market type1338247e · Vigo Walker
- fix: update comment for levRef wrapper to clarify isSpot guard2b6e140a · Vigo Walker
- feat: hide margin mode and leverage controls when in spot marketcfee208f · Vigo Walker
- feat: add market type toggle for Perp and Spot in OrderForm component568194e9 · Vigo Walker
- feat: update OrderForm to handle spot market notation for order placemente46564b7 · Vigo Walker
- feat: fetch spot token balance in spot mode for OrderForm component99cfcb8e · Vigo Walker
- feat: add spot market handling to OrderForm component45397dd8 · Vigo Walker
- feat: update OrderForm to include marketType and spotMarkets from MarketContextc0db4df5 · Vigo Walker
- feat: enhance MarketContext to include marketType and spotMarkets state management16a9302e · Vigo Walker
- feat: add SpotMarket interface and getSpotMarkets function to fetch canonical spot marketsb88ea7f4 · Vigo Walker
- docs: add Copilot instructions and reference to IMPORTANT.mdd9a0c5ba · Vigo Walker
- docs: update guidelines for NextJS hosting and emphasize error handling best practicesb407b376 · Vigo Walker
- docs: update guidelines to avoid excessive use of Google Secret Managercb37bbe3 · Vigo Walker
- feat: position row click navigates to trade page, close confirmation with P&L after feese04bd8d5 · Vigo Walker
- feat: implement close position confirmation dialog with user preference6d05f88c · Vigo Walker
- fix: filter chart execution shapes by current coin (#246)dd11570c · Vigo Walker
- feat: add 'Testnet' label to ChipaX logo in Navbar8ed566eb · Vigo Walker
- feat: add robots.txt, metadataBase, terms & privacy pages, auto-versioning0d7ccc35 · Vigo Walker
- fix: remove overflow hidden from body to allow scrolling9ac3864a · Vigo Walker
- feat: add Terms and Privacy pages with navigation links6099910f · Vigo Walker
May 15, 2026
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.mdfc0a0b06 · Vigo Walker
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.md1461b2ab · Vigo Walker
- docs: add spacing before "Need Help?" section in TEMPLATE_USAGE.md0077580f · Vigo Walker
- feat: add Makefile and PowerShell script for installing git hooks and automatic version bumping8ee6275e · Vigo Walker
- feat: add git hooks installation and update pre-push to bump minor version before pushce667a7c · Vigo Walker
- feat: add pre-commit and pre-push hooks for automatic version bumpinge2a95ac5 · Vigo Walker
- feat: add version management with version.json and bump-version scriptafc4c0d9 · Vigo Walker
- feat: add sendTestEmail function and implement test email feature in NotificationsPage21c89499 · Vigo Walker
- feat: add deposit balance fetching and display account summary stats in PositionsPanel7fb984eb · Vigo Walker
- feat: add NotificationBell component and update user menu to link to Notifications page3cef68fd · Vigo Walker
- feat: add NotificationsPage component for managing notification preferences7e67c1fe · Vigo Walker
- feat: add NotificationBell component for liquidation alerts and user notificationsa0f08b58 · Vigo Walker
- refactor: remove info note about Hyperliquid spot clearinghouse from AssetsPage0c2ca35b · Vigo Walker
- fix: enhance fmtUsd function to handle null and undefined values0188feca · Vigo Walker
- feat: update Navbar to link to Assets page and replace button with link for better accessibility feat: add Assets page to display user spot token balances and related informationf17b02d4 · Vigo Walker
- feat: update Navbar to link to Orders page and improve button accessibility271b31d1 · Vigo Walker
- feat: update Navbar links and add Orders page with order management featurese31f620f · Vigo Walker
- feat: add Bug Bounty Program page with severity levels, rewards, and disclosure processc55108e3 · Vigo Walker
- fix: update support link in Navbar to point to the correct URL6d8fb01c · Vigo Walker
- feat: enhance sitemap generation with dynamic trade pages based on live coin data05f59699 · Vigo Walker
- feat: add API documentation page with interactive endpoint testing and API key managementefd64560 · Vigo Walker
- refactor: remove ApiDocsPage component and related API documentation code447a3c3e · Vigo Walker
- fix: update URLs in blog posts to point to the correct exchange domain9ad40c25 · Vigo Walker
- fix: update BASE URL in sitemap to point to the correct exchange domain5a97b843 · Vigo Walker
- fix: update Dockerfile to remove dev dependencies during npm install; clean up BlogPage component by removing unused codecab6fbe5 · Vigo Walker
- feat: update .dockerignore to exclude node_modules and insider-images from Docker build context4dfdff80 · Vigo Walker
- feat: update Dockerfile and .dockerignore to optimize build context and exclude unnecessary files5ceac025 · Vigo Walker
- feat: update Dockerfile for multi-stage build and add standalone output configuration in next.config.ts3b790a03 · Vigo Walker
- feat: implement BlogPage component with post filtering and subscription widget; add sitemap generation for static and blog pagesb7d15279 · Vigo Walker
- feat: add BlogPost and Section interfaces with sample blog post data feat: implement BlogPostPage component for dynamic blog post rendering feat: add subscribeNewsletter function for newsletter subscriptions59f10bc1 · Vigo Walker
- feat: update Navbar links to point to correct Blog and API Docs pagese4e4ff78 · Vigo Walker
- feat: add BlogPage component with static post data and layout0a777be6 · Vigo Walker
- feat: remove Competitions and Vaults links from Navbar1114a7f3 · Vigo Walker
May 14, 2026
- feat: add RewardsPage component with level and reward structurea7bb5591 · Vigo Walker
- feat: update SITE constant to use dynamic origin for deployment compatibility06fe512e · Vigo Walker
- feat: enhance AffiliatePage to include token validation for loading state management4fe127ca · Vigo Walker
- feat: improve loading state handling in AffiliatePage to prevent premature warnings913b3365 · Vigo Walker
- feat: remove CopyButton component and clean up AffiliatePage7cbb9815 · Vigo Walker
- feat: remove StatCard component and refactor AffiliatePage for improved readability047b16ff · Vigo Walker
- feat: enhance AffiliatePage with referral tracking and improved formatting functions4529c647 · Vigo Walker
- feat: add ReferralState interface and update AffiliateStats to include typed referralStatesd66803ec · Vigo Walker
- feat: add AffiliateStats interface and getAffiliateStats function for affiliate data retrieval7cd4ada0 · Vigo Walker
- feat: enhance PairHeader with improved dropdown UI and search functionalityea658bd7 · Vigo Walker
- feat: add CoinLogo component for displaying cryptocurrency logos with fallback41870388 · Vigo Walker
- fix: correct property access in buildAIContext for position data09e6b6a5 · Vigo Walker
- fix: update Tooltip formatter in TradingAnalysis for better type handlingbb4d205d · Vigo Walker
- feat: enhance TradingAIChat with improved response processing and user instructionsfa526767 · Vigo Walker
- feat: add TradingAIChat component for AI-driven trading analysis and insights2c7e5843 · Vigo Walker
- feat: add recharts library and update dependencies in package.json and package-lock.jsona30ec4c4 · Vigo Walker
- feat: add TradingAnalysis component and extend PortfolioPage with analysis tab2ff1efb0 · Vigo Walker
- feat: implement PortfolioPage component with balance, positions, fills, and orders overview22775a3d · Vigo Walker
- feat: update favicon.ico for improved branding and user experienceac8c5d9d · Vigo Walker
- feat: update metadata structure for improved icon and social sharing supportb32ca1a2 · Vigo Walker
- Refactor code structure for improved readability and maintainability0d019472 · Vigo Walker
- feat: add fetch functions for positions and open orders in PositionsPanel3bd5fab1 · Vigo Walker
- feat: enhance order cancellation button with loading state and disabled functionality249eff9e · Vigo Walker
- feat: implement order closing and cancellation functionality in PositionsPaneldd76662f · Vigo Walker
- feat: add cancelOrder function to handle order cancellation in chipaxApi9a83ed32 · Vigo Walker
May 13, 2026
- feat: add wallet reset functionality for EVM-mode account recovery in DepositModal and AuthContext30972b4e · Vigo Walker
- feat: make user private key optional for classTransfer function in chipaxApib9f02411 · Vigo Walker
- feat: require user private key for USDC transfer between Spot and Perp accountsc0adf668 · Vigo Walker
- feat: add notice and transfer button for Spot to Perp USDC transfers in DepositModalc3f62dc1 · Vigo Walker
- feat: add classTransfer function for USDC transfers between Spot and Perp accountsdf08f43c · Vigo Walker
- feat: improve PnL handling in TradeShareModal for better accuracy and display91961be2 · Vigo Walker
- feat: update leverage calculation in share data to use value property74dd2032 · Vigo Walker
- feat: add additional position data fields including valueUsd, liquidationPx, and marginUsed8446a7b0 · Vigo Walker
- feat: update TradeShareModal to include user handle and enhance drawing logicf00e52b2 · Vigo Walker
- feat: enhance PositionsPanel with share functionality and update TradeShareModal for fill infof9635e03 · Vigo Walker
- feat: wrap PositionsPanel return in a fragment for improved structure033a600a · Vigo Walker
- feat: add TradeShareModal component for sharing trade details063cffcb · Vigo Walker
- feat: add metadata definitions for Academy, Affiliate, Competitions, Trade, and Vaults pagesf149a5fb · Vigo Walker
- feat: update qty resync logic in OrderForm component to trigger only when slider is active5e3569d2 · Vigo Walker
- feat: add qty resync logic based on leverage and price changes in OrderForm component59841b21 · Vigo Walker
- feat: refactor leverage UI structure in OrderForm componentd6cdf752 · Vigo Walker
- feat: enhance leverage selector UI in OrderForm component57b2373d · Vigo Walker
- feat: enhance leverage adjustment UI in OrderForm component88e17372 · Vigo Walker
- feat: add image asset for user interface enhancements27bee4c8 · Vigo Walker
- feat: add take profit and stop loss parameters to PlaceOrderRequest interfaceee8c4827 · Vigo Walker
- feat: implement session token exchange and auto-login modal in AuthProvider5c1055ef · Vigo Walker
- feat: remove unused formatting functions from OrderBook componentc1217fb3 · Vigo Walker
- feat: refactor OrderBook component to remove legacy static data and streamline live data fetchinge2187269 · Vigo Walker
- feat: enhance OrderBook component with improved formatting and live data handling8591a7d5 · Vigo Walker
- Implement feature X to enhance user experience and fix bug Y in module Zf8d3419b · Vigo Walker
- feat: remove TopBanner component from TradePage29df8fc4 · Vigo Walker
- feat: replace JPEG image with a new JPG fileb030325c · Vigo Walker
- m8e2acd6e · Vigo Walker
- feat: refresh execution shapes alongside position lines on trade events in ChartPanel5e62630c · Vigo Walker
- feat: add execution shape markers for historical fill data in ChartPanelf099b550 · Vigo Walker
- feat: extend ChartPanel with execution shape interface and reference managementcd9c57cf · Vigo Walker
- feat: add trade event listener and polling for position line refresh in ChartPanel9c9fffae · Vigo Walker
- feat: enhance position handling in ChartPanel and PositionsPanel with derived mark price logic06076d34 · Vigo Walker
- feat: implement HLSetupPage for wallet linking and agent approval process0e93a190 · Vigo Walker
- feat: add linkWallet and getWalletStatus functions for wallet managementa443a75c · Vigo Walker
- feat: add event listener for trade updates to refresh positions and open orders28d83196 · Vigo Walker
- feat: refactor leverage handling in OrderForm and improve order placement logic5aa43bed · Vigo Walker
- feat: enhance OrderForm with leverage management and margin mode functionality59d7a3dd · Vigo Walker
- feat: add setLeverage function import to OrderForm component5e406cb0 · Vigo Walker
- feat: update PlaceOrderRequest to support optional order type and enhance placeOrder function with leverage setting032a42e2 · Vigo Walker
- fix: update getHLMids function to handle flat response structure and improve number parsingc66e0f8a · Vigo Walker
- feat: enhance PositionsPanel with data fetching and display for positions, open orders, fills, and order history1220dd3c · Vigo Walker
- feat: add relink wallet functionality with private key input for existing wallets67e8dd53 · Vigo Walker
May 12, 2026
- fix: remove unused approveAgent function from chipaxApib483adb1 · Vigo Walker
- feat: add hlPrivateKey to OrderForm for agent approval handling during order submissionacbdf676 · Vigo Walker
- feat: add approveAgent function to handle agent approval requests6d52bb76 · Vigo Walker
- fix: update balance calculation to include total USDC and improve account balance display7158b998 · Vigo Walker
- feat: add spot balance handling and display in OrderForm for improved account visibility3ebc594f · Vigo Walker
- feat: add raw backend fields to DepositBalance interface for enhanced deposit information95bd392f · Vigo Walker
- feat: include hlPrivateKey in DevAccountPage for enhanced account information display8ac349af · Vigo Walker
- fix: update balance fetching logic to poll every 15 seconds and handle previous balance correctly2bcc4e63 · Vigo Walker
- feat: add DevLayout component for improved layout handling and overflow management4649d4c0 · Vigo Walker
- feat: add DevAccountPage component for account information display and managementa21e24f1 · Vigo Walker
May 3, 2026
- fix: improve onboarding logic to handle session storage correctly and prevent UI blockage97151e1f · Vigo Walker
- fix: handle backend errors during onboarding to prevent UI blockage9371ecb5 · Vigo Walker
- fix: update chart style configuration to use numeric value1f75e85b · Vigo Walker
- feat: enhance chart styling with Heikin Ashi colors and update chart style871fbf80 · Vigo Walker
- fix: add chipax-ui/lib/ to git and unblock lib/ gitignore rule1ddd81b1 · Vigo Walker
- fix: remove rootDir from apphosting.yaml to streamline configurationbe1068a1 · Vigo Walker
- feat: add apphosting configuration for deployment settings9bbbf4c5 · Vigo Walker
- fix: remove extra newline in TEMPLATE_USAGE.md for improved formatting7ee13401 · Vigo Walker
- fix: cast return value of extractField to any for TypeScript compatibility3109faee · Vigo Walker
- fix: improve error handling in SymbolsStorage for better error message clarityb3398a73 · Vigo Walker
- feat: update AuthContext to safely access sessionStorage in a browser environment91a749b9 · Vigo Walker
- feat: add HL address and private key handling in AuthContext for testnet support4c9aaa62 · Vigo Walker
- feat: enhance DepositModal with notify functionality and deposit address handling9b72a696 · Vigo Walker
May 2, 2026
- docs: add deposit UX options to improve user onboarding and streamline deposit process9fbb3926 · Vigo Walker
- refactor: update DepositModal to enhance deposit instructions and improve user interface3f087e62 · Vigo Walker
- refactor: remove unused code and clean up DepositModal component680f1c38 · Vigo Walker
- refactor: streamline DepositModal by enhancing loading states and improving deposit info handling77b47eb0 · Vigo Walker
- fix: update balance check for consistency in OrderForm component14b0c877 · Vigo Walker
- refactor: enhance DepositModal with user feedback for account setup and loading states304678e1 · Vigo Walker
- refactor: include onboarded state in DepositModal to ensure deposit info loads only after account provisioning7f089996 · Vigo Walker
- refactor: add onboarded state to AuthContext and update balance fetching logic in OrderForm695714ea · Vigo Walker
- refactor: remove onboarding tab from DepositModal for streamlined user experience02e76ff7 · Vigo Walker
- refactor: simplify DepositModal by removing unused onboarding and approval logica60229b0 · Vigo Walker
- refactor: integrate account provisioning in AuthProvider during login and session restoredb768e05 · Vigo Walker
- refactor: update onboarding process in DepositModal with improved messaging and UIfcea6281 · Vigo Walker
- refactor: enhance DepositModal with account onboarding functionality and error handling2abc7ea5 · Vigo Walker
- refactor: implement server-side proxy for /api/chipax requests to bypass CORS issues10a70dcb · Vigo Walker
- docs: update token issuer mismatch documentation with CORS and 404 detailsc9e67214 · Vigo Walker
- docs: add documentation for token issuer mismatch issue on authenticated endpoints84fdb07f · Vigo Walker
- refactor: improve error messaging in DepositModal for approval failures3a172507 · Vigo Walker
- refactor: remove unused error state initialization in DepositModal217b0765 · Vigo Walker
- refactor: simplify error handling in DepositModal by removing specific error messages68e2a6a7 · Vigo Walker
- refactor: remove non-blocking server enrichment from token verification in AuthProvider451c6636 · Vigo Walker
- refactor: enhance token validation logic in AuthProvider to improve error handlingdb2503ca · Vigo Walker
- refactor: streamline token verification and server validation in AuthProvider1f93ef32 · Vigo Walker
- fix: enhance error handling in DepositModal for session expiration and loading issuesc47dba14 · Vigo Walker
- refactor: improve authentication flow with server validation and error handlinga1f62d99 · Vigo Walker
- feat: add DepositModal component for managing deposits and transaction history62950db2 · Vigo Walker
- refactor: remove unused OrderForm component UI elements for cleaner layout26e84b42 · Vigo Walker