Changelog
Three years from Moon — multi-chain smart-wallet infrastructure — to COD3X, an autonomous agent terminal. The real history, month by month.
The road to v2.0 — from Moon, a self-custodial smart-wallet vault (2023), to live trading agents (v1.0, 2025), to the Terminal beta (v2.0, 2026).
Moving Money, and Telling the Truth About It
Two threads this month. Moving money between chains stops being a wall of JSON and becomes a card you can read — quote, progress, receipt. And a hard look at every number the product shows you about your own capital, with the ones that were guessing either corrected or plainly labelled. The middle of the month belongs to the chart: the price chip answers across six timeframes, watchlist rows hold your reasoning, and agent drawings land where the move actually is. Then it closes back on the money, with a week spent watching real transfers and repairing every place the product described one it was not making. One approval now buys exactly one move, the card carries a clock, and an agent that says it will check back can.
AUG 1-7
Move cards land and turn on by default, tool calls start reading like sentences instead of payloads, and a sweep through the capital surfaces retires the figures that were quietly inventing themselves.
- Added: Move cards in MetaChat — a bridge or a swap now renders as a live card that walks from quote to progress to receipt, with real token logos and per-move identity, so two swaps in one conversation never collapse into each other. On by default.
- Added: Human-readable tool calls — what your agent is doing, written as a sentence instead of a raw payload.
- Added: A rebuilt Graph State debugger, extracted into its own surface with live thread stats.
- Fixed: Chat replies could stream to you and then vanish on reload. Messages now carry the agent that spoke them, and a failed save is loud instead of silent.
- Fixed: The agent Overview headline showed only the idle wallet, not the agent’s whole capital, so perps margin and predictions were invisible. Fleet AUM stopped reporting a figure whose source was empty, and the agent switcher now labels its number as tracked unrealized P&L rather than passing it off as a balance.
- Fixed: Backtesting lost decisions to DeepSeek failures and billed some LLM calls twice.
- Fixed: Asking an agent about a trade read the journal before the order history, so it answered from notes instead of records.
- Improved: Hyperliquid stopped charging upstream outages against the proxy pool, so a bad hour at the venue no longer burns healthy routes.
AUG 8
The chart starts answering questions instead of repeating itself, watchlist rows learn to hold your reasoning, and agent drawings stop landing on midnight.
- Added: Price change across six timeframes in one hover. The percentage beside the price used to open a tooltip describing the timeframe you were already looking at. It now shows 5m, 1H, 4H, 24H, 7D and 30D at once, with your current timeframe highlighted, so “up on the day, down on the week” is one glance instead of changing the chart and changing it back.
- Added: Watchlist rows now carry your thesis. Write why you are watching a market, edit it in place, and see how stale the note has gone at a glance. Your agent can read it and co-author it, so “check my watchlist” has something to check against.
- Added: When an agent draws a level it read off a different timeframe than the one you are on, the mark now says so.
- Fixed: Agents reading daily candles while you sat on a five-minute chart placed every drawing on a midnight boundary, hours from the move they were describing. It read as the tool misfiring. They now work at the timeframe you are on, and declare it when they deliberately do not.
- Fixed: A monthly chart treated 1M as one minute when working out how far ahead a drawing was allowed to sit, so it advertised a three hour window instead of sixteen years. Agent drawings beyond it clamped to the edge of the chart or never appeared.
- Fixed: The price change tooltip rendered a small move as +0.0050000. Seven decimals of noise made a real move look like a rounding error.
- Fixed: A watchlist note could be cropped to less than half the width that was actually free beside it.
AUG 9-15
The watchlist row stops losing fights it cannot win. What will not fit gets a home instead of getting cut, and the notes you write stay yours.
- Added: Hover a watchlist row and a card explains everything the row itself is too narrow to hold: open interest, funding, the numbers that kept getting cut for width. The row identifies a market, the card explains it, expanding it commits.
- Fixed: The row’s width budget never paid for its own padding and gaps, so a ticker could truncate to a single character while an empty note lane spent full width asking you to add a thesis. Identity is funded first now.
- Fixed: A thesis belongs to you, not to the agent that helped write it. Notes an agent co-authored no longer vanish when that agent is deleted, and an agent reading its own journal is no longer handed your watchlist notes back as its entries.
- Design: The venue badge leaves the row at every width. Which venue a market trades on already rides in the ticker itself, so the badge was spending pixels to repeat something the row had already said.
AUG 16-19
A week spent watching real money move, and fixing every place the product told a story the transfer did not match. One approval now means one move, the card carries a clock, and an agent that says it will check back can actually do it.
- Added: An agent can wait for a cross-chain move to land. It was the one long action an agent could start and never be woken for, so it ended its turn on a promise it could not keep, and you waited for a message that was never coming. It now waits for the transfer and comes back with the result.
- Added: A clock on the move card. Watching funds cross a bridge, you can see how long the move has been running, instead of a spinner that answered the one question a wait actually raises with nothing at all.
- Security: One approval now authorises exactly one move. A granted approval is bound to the amounts, tokens and chains the card showed you, so a later swap with a different pair or a different size stops at a fresh gate instead of riding the click you already made.
- Security: When a transfer is broadcast and the outcome cannot be read back, the approval is spent rather than left live, so an unclear result can never become a second transfer of the same money. If the move is later proven failed, the approval is handed back.
- Fixed: Asking your agent a question in the middle of a settling move revoked the approval you had just given, and put a third gate in front of one small swap. A granted approval now runs on its own clock instead of ending on your next message.
- Fixed: Approving a withdrawal or a cross-chain swap produced a green “approved” header over a completely blank card. The receipt was built for perps and had nothing to say about anything else. It now says what was approved, whatever kind of move it was.
- Fixed: A normal five minute withdrawal was presented as “unverified”, with a padlock and a warning that funds may be in flight. Not knowing yet is a fact about us, not about your transfer, and on a bridge that takes minutes it is expected rather than alarming. The card now says it is checking.
- Fixed: The numbers on a completed move now reconcile. Sent, received, value and fees used to disagree with each other, which left you unable to tell whether the report was wrong or the money was missing.
- Fixed: A failed action was reported as “some data could not be retrieved”. That is true of a chart that did not load and false of a swap that did not happen, and on this surface that is the difference that matters.
- Fixed: A transactions widget opened in chat showed no activity during a live move, because nothing ever handed it the agent’s wallet. It resolves the wallet itself now, and says plainly when an agent has none.
- Fixed: Deposit quotes during onboarding were failing for everyone after our bridge partner retired the routing options we were sending. Agents burned quotes permuting tokens against an error they could not read. Quoting works again.
- Fixed: A move that could not run because the funds had not landed yet read to the agent as a mistake, so it changed its approach when the call had been right all along. It now recognises the right call at the wrong moment, and retries it unchanged.
- Fixed: Saving feedback on an order failed three different ways and every one of them arrived as the same opaque error. It now fails visibly, or not at all.
- Fixed: A reply that used one formatting tag over the limit shipped with none of them, so the longest answers, the ones the formatting is for, came out plainest. The ceiling is higher, and going over now trims the surplus instead of discarding the lot.
- Fixed: A bullet could break mid-sentence, with an emphasised phrase on its own line and its punctuation orphaned underneath.
- Performance: Move quotes are cached and shared across everyone pricing the same move, so two tabs, or two people, no longer cost twice the upstream work.
- Design: The move card stopped showing our bridge partner’s machine identifiers. Its internal route name and its raw status code were two debug strings sitting inside the strongest surface in the whole flow. Both read as English now.
v2.0 Public Beta — Doors Open
The doors open. Everything hardened in the closed beta ships to everyone — anyone can sign up, describe a strategy, and put an agent to work. The terminal is now the front door.
JUL 1-7
Launch day and the busy days right after — subscription plans and staked-CDX bonus credits go live, the Agent Wallet gets a V2 redesign, and the model bench widens, all as the doors open to everyone — with a billing-integrity and API-hardening pass underneath to hold up the extra traffic.
- Added: An expanded model roster in MetaChat — Claude Sonnet 5, Qwen 3.7 Max, GPT-5.5 Pro, and DeepSeek V4 Pro — with free-mode gating and an Advanced roster, so you pick the reasoning depth your budget allows; Fable 5 is listed as coming soon.
- Added: Subscription plans — monthly plans go live: a plan-led signup flow, your active plan unlocks agent activation, a credits panel that splits subscription vs lifetime balance, and a “Plans from” price anchor pulled from live pricing.
- Added: Agent Wallet V2 — an intent-grouped redesign of the agent wallet that leads with allocation and exposure.
- Added: A “Switch to Base” action on the staking panel
- Improved: Leaner mobile MetaChat — dock modes and hover-peek dropped on phones, with a 16px composer to stop iOS zoom-on-focus, so you can run agents from your phone without the keyboard fighting you.
- Improved: Steadier agents — leaner tool binding, smarter model routing, cleaner goal-run error handling, and goal-run webhook notifications.
- Improved: Your threads persist — conversations no longer auto-archive after 7 days.
- Design: A unified tooltip system — one chrome across the terminal, charts, and dialogs
- Restored: Wallet sign-in with Ethereum — the wallet-native login, rebuilt onto v2's new foundation. Connect a wallet and you're authenticated and all the way through signup in a single flow, first-class for wallet-first users.
- Fixed: Mobile polish — a reachable sheet close, a threads overlay that no longer blocks the hamburger menu, and a clearer error when a token isn't deployed on the chain.
- Fixed: Rapid taps on send no longer duplicate-submit a message
- Added: Staked-CDX bonus credits — link and verify a wallet, and your staked CDX earns bonus credits on every purchase and subscription renewal, tiered by an admin-set table.
- Security: Wallet linking is now proof-of-ownership — each linked wallet is verified by a signed, single-use challenge.
- Added: Credit Insights — usage stacked by context, a Daily Log deep-dive, and a Top Usage tab, so you can see exactly where your credits go.
- Improved: A monthly cap on auto-recharge, set right in the top-up controls.
- Fixed: Billing failures now surface as clear notifications instead of going silent, and referral-attach errors show up at signup.
- Fixed: The CDX Staking card in your profile reads your bonus from your verified linked wallet — link one and it lights up immediately, with a “link your wallet” prompt instead of “stake more” when nothing's linked yet.
- Fixed: Reliquary staking reads move off the shared public Base RPC onto a dedicated endpoint, ending the intermittent staking-data failures.
- Added: A pre-flight signing guide for staking — before you supply or withdraw, see every wallet signature the flow will ask for and why.
- Improved: Sign back in and land exactly where you left off, not just a generic default page.
- Improved: News cards in MetaChat open the full article in-app instead of sending you out to the source.
- Fixed: The Automations chain-picker no longer clips in the narrow panel — a proper inline picker replaces the old modal.
- Added: Filter Version History down to a single automation, instead of scrolling the whole agent's history.
- Added: Six new MetaChat slash commands —
/capture,/threads,/blur,/dock,/pause, and/resume— plus new mountable widgets (transactions, alerts, notifications, agent overview, agent list, new position) and page shortcuts. - Improved: MetaChat polish — in-chat widget panes now remember their height and gained a reset-size control, the Prompt Charge cost breakdown is back on hover, and the model browser lines up with the Engine drawer.
- Fixed: Google sign-in — a rare code-exchange race that could leave a legitimate sign-in stuck on “link expired” is fixed, and a failed sign-in now says so plainly instead of misdiagnosing it as an expired email link.
- Fixed: A chat-mounted portfolio widget now shows your agent's own wallet, not the all-agents aggregate.
- Improved:
/pauseand/resumenow tell you if pausing or resuming an agent fails, instead of failing silently. - Added: A “New Automation” quick-action right in the agent editor's command list.
- Improved: Your CDX staking bonus is now visible everywhere it applies — a glowing “+X% CDX” badge on every subscription plan, and a dedicated line item on the purchase receipt showing exactly how many bonus credits you'll receive.
- Fixed: Staking now works with every wallet — deposit confirmations no longer poll through the wallet's own RPC, which hard-failed on wallets with restricted internal endpoints (reported with the Uniswap extension).
- Fixed: The STAKE NOW button on Operations scrolls you to the stake form again.
- Fixed: Freshly staked relics now appear in the table within seconds — a smart refresh polls until the chain answer catches up, instead of sitting stale until a page reload.
- Fixed: The credits modal and the top-right credit count always agree now — the modal no longer folds the free-tier quota into its headline balance.
- Improved: The top-right credits pill shows your exact balance (no more rounded 1.2K), with a hover breakdown of subscription vs lifetime credits and the next reset.
- Design: The staking stats banner leads with total CDX staked — live digit-roll tickers on the headline, supply share, and relic count, with the CDX total now in brand orange beside the token mark.
- Added: AI debrief for backtests — a “Debrief in chat” hand-off seeds MetaChat with a finished run's stats and triggers, plus focused follow-up prompt chips. You edit and send; nothing spends credits automatically.
- Improved: The staking command center stays readable with a wallet full of relics — each relic row collapses to a compact summary you tap to expand for its maturity curve and actions, and the what-if simulator now sits below your stake form and relics so the actions you use most stay up top.
- Added: Billing integrity — refunds and chargebacks now reconcile your credit balance automatically, and a failed or expired checkout is handled cleanly instead of leaving a payment in limbo.
- Improved: The API got a hardening pass — requests are validated at the boundary and authenticated consistently, failures come back as clear typed errors, and the most sensitive routes gained regression coverage, so the surface behind the terminal holds up as more people arrive at once.
JUL 8-14
Post-launch hardening and finish work — then the first days of real beta traffic, spent on what that traffic exposed. The agent's standing rules get a plain-English redesign and enforced risk limits, the chart learns to draw, every agent gets one consistent face across the app — and the week closes fixing three crashes on the busiest surfaces, agent pages that never loaded, and share links that bounced strangers to a login screen.
- Added: Agent Defaults — an agent's standing rules now read as a plain-English sentence (identity · traits · voice) instead of a settings form. Edit its personality in place, and switch its model (ENGINE) inline.
- Added: Enforced risk limits — the caps you set on an agent (max leverage, position size, open positions, risk per trade, daily loss, and drawdown) are now hard checks at trade time instead of hints the model could talk itself past. A trade that would breach a limit is rejected before it reaches the exchange, on both Hyperliquid and Propr.
- Design: Every agent now has a generated Blockie identicon — a distinct identity mark that reads consistently across the roster and editor.
- Improved: An agent's status now follows whether it's actually running — the manual Status picker is gone from Settings.
- Fixed: Editing one automation's settings no longer overwrites the agent's shared defaults.
- Fixed: Coinbase Smart Wallet now connects — its sign-in popup was being blocked before it could hand your authentication back.
- Fixed: Reliability across money and automations — funding steps retry through a low-nonce hiccup instead of stalling, billing no longer errors when you have no active subscription, transaction history handles an empty explorer response, and goals that can't be scheduled are cleaned up instead of jamming the scheduler.
- Improved: Clearer agent errors — a failed Hyperliquid action now says what actually went wrong instead of a generic message.
- Added: Chart drawings, redesigned — your agents now mark up the price chart the way you would: entry and exit lines, zones, Fibonacci scales, a risk/reward position tool, a ruler, and trade markers, all rendered natively on the chart. Every mark is tagged with who drew it — agent or you — so the reasoning on the chart is legible at a glance.
- Added: Live on the chart — a position and liquidation-price rail, trade markers that reveal their fill on hover and tell backtest trades apart from live ones, and cleaner on-chart labels (per-shape value tags, de-collided Fibonacci levels).
- Added: Build an automation by hand — alongside describing it in chat, a build-by-hand create surface lets you assemble a trigger from a plain asset · signal · comparison · value grammar, and the asset picker now names each venue with its official logo. The value editor soft-flags mixed-unit or divide-by-zero comparisons as you build.
- Improved: Automations edit as a sentence — an automation's schedule and conditions are now editable in place, clause by clause: the sentence you read is the sentence you change. Personality leads the Agent Defaults block, unnested and edited inline.
- Design: One identity everywhere — the Blockie identicon each agent gets in the editor now follows it across the whole app: the roster, chat message avatars, and the Agent Wallet, with a wallet-address selector — one consistent mark instead of a patchwork.
- Design: In-chat cards, redesigned — every card in the conversation got a reads-on-glass restyle around shared primitives: trade approvals and questions, config and diff proposals, the reasoning timeline, data tables (with smart Parameter · Value cell formatting), trade recaps and positions, inline signals and alerts, and stopped / error / expired bubble states. Pinned cards stay solid; inline cards go translucent so the conversation shows through.
- Improved: The unified tooltip system got a fidelity pass to match design and now renders consistently across the charts, with the app's remaining native browser tooltips migrated onto it.
- Improved: Other languages now render properly everywhere — Chinese, Japanese, Korean, Thai, and more. The interface font falls back to system Noto / Sans faces for glyphs it doesn't carry, so agent messages, chat cards, and labels in any language read cleanly instead of showing empty boxes — with no extra download.
- Fixed: Editing an automation's schedule now starts from its real cadence instead of defaulting to a generic “every 4h.”
- Fixed: Chat message avatars no longer clip the agent's Blockie identicon.
- Fixed: Feature-flag environment overrides now resolve on the client, and analytics no longer reads flags before they've loaded — dev flag toggles behave predictably.
- Added: Fleet Treasury — a new AGENTS · TREASURY switcher on your roster pivots the whole view to a fleet treasury: allocation and exposure broken down agent by agent, without leaving the page — with a freshness stamp and one-tap refresh on the allocation header.
- Improved: Your agent pages are now a private, owner-only control plane — only you can open your own agents' detail views, and opening an automation now opens it in place instead of bouncing through a broken route.
- Improved: Agent pages, reorganized — each agent now opens into five focused tabs (Overview · Wallet · Automations · Evolution · Settings), with markets and trades folded into the terminal so the page leads with what you came for.
- Added: Fleet Roster — /agents is now MY FLEET, a management home instead of a scoreboard: a four-stat header (deployed AUM, active automations, agents in the arena, and a cockpit link), switchable rail and dense list views with group-by, and a New-Agent card with in-roster funding.
- Improved: The agent Overview tab, rebuilt — a portfolio-led summary that leads with wallet-sourced value and asset allocation, a compact live-status glance (open positions, notional, unrealized, next run), reputation beside a recent-automations peek, and quick actions; the deep performance charts move to the terminal.
- Design: Reputation, rebuilt — the Overview's REP card is now a terminal-native four-dimension panel faithful to the design, with graceful degradation when a score isn't published yet, in place of the old radar.
- Improved: The agent Evolution tab, rebuilt — an agent's version history now reads as a narrative timeline with plain-English diffs (“RISK 8× → 12× max”, “ADDED RULE …”), honor badges earned from real config milestones (Birth · Promoted to Real · Published · Starred), and one-click revert to any past version.
- Improved: Steadier foundations — the goals and automations engine was reorganized into focused, independently-tested services with stricter lifecycle validation, so scheduling and edits behave predictably as more agents run at once. Usage accounting is now best-effort, so a logging hiccup can never interrupt a live run.
- Fixed: Funds-safety hardening across trading — the order form's Enter key now runs the same balance and leverage checks as the button and can't double-submit, withdrawals route native vs ERC-20 by contract address instead of by ticker, the Hyperliquid bridge enforces its $5 minimum deposit, GMX stops size against the right price and reject a wrong-side stop instead of silently dropping it, swap and bridge confirmations lock while a transaction is in flight, and Outcome (HIP-4) orders now get a confirmation step.
- Security: Tightened privacy — crash reporting no longer collects personal info and masks session replays, and a private agent's position and trade-stats endpoints are owner-only.
- Fixed: Small stuff — the notifications “View Billing” link lands on your credits page instead of a 404, and a failed send no longer leaves a phantom “typing” bubble in chat.
- Design: Agent replies now read in a proper sans-serif — the terminal keeps its monospace face for numbers and code, while prose gets a typeface built for reading at length.
- Security: Agent and leaderboard pages now read through permission-scoped queries that expose only the columns a public page needs, rather than a privileged key. A private agent stays indistinguishable from one that doesn't exist.
- Fixed: Agent pages load again — every render of an agent's profile was failing on beta.
- Fixed: Share links work for logged-out visitors — an agent link sent to someone without an account now opens its public profile instead of bouncing them to a login screen.
- Fixed: Three crashes on the surfaces you use most — the terminal no longer white-screens right after you create an agent, and a sweep of the same class of bug fixed the docs sidebar collapse and agent config proposals before they could crash too.
- Performance: Opening chat no longer eats your machine's memory — a measurement loop between the message list and its scroll position could spiral the moment chat opened.
- Fixed: Steadier data behind the scenes — wallet balance reads retry through transient network hiccups, transaction history backs off cleanly when its data provider rate-limits instead of erroring, and an unavailable Hyperliquid withdrawal now reports why it was refused rather than looking like an outage.
- Fixed: Agents asking you a question no longer garble it — a malformed question from the model is repaired before it reaches you.
JUL 15-21
This week — the agent surface and the in-chat card system settle into known-good, the agent learns to read a link you paste, and the chart gains per-indicator colour and a searchable indicator browser.
- Improved: /agents is solid — the Fleet Roster, the five agent tabs (Overview · Wallet · Automations · Evolution · Settings), and the fleet-treasury pivot now load reliably for every agent on beta.
- Design: In-chat cards, known good — the reads-on-glass card system is verified end to end across the whole conversation, every card built on one shared set of primitives so the look holds from trade approvals to news.
- Added: Read a tweet in chat — paste an X/Twitter post link and the agent reads the post and pulls out any trade setup it contains (asset, direction, entry, targets, stop), rendered as an in-chat card in both the terminal and MetaChat.
- Added: An in-chat news reader — a news card now opens a reads-on-glass reader inline (headline, source, AI key points, and a clamped, fading body) with an open-source hand-off, instead of sending you out to the publisher.
- Added: Automation and data-list cards in chat — an agent can surface a live automation you can rename or pause/resume, or a compact data list with its own rows and toggle, right in the conversation.
- Design: A reasoning thoughtstream — the agent's step-by-step thinking now renders as a live, grouped stream showing the tools it used, the credits each step cost, and a raw-trace peek for the curious.
- Design: A shared trade-thesis block — the agent's “why” now reads identically wherever it appears: trade recaps, suggestions, and approvals all quote the rationale the same way.
- Fixed: Chart-drawing fidelity — the redesigned on-chart marks got a pixel pass so entry and exit lines, zones, and Fibonacci scales render true to the design.
- Added: A per-indicator colour picker — pick a custom colour for any indicator and recolour it live on the chart.
- Added: A searchable indicator browser — find and add indicators from a command-style picker instead of a flat list.
JUL 22-28
The agent's chart marks grow a command layer. A draggable switcher chip reads one strategy at a time while the rest of the chart steps back, labels stop colliding, your working orders join the chart, and setups drawn onto future bars finally land where the agent meant them. The week closes big: your watchlist becomes something your agent can read and curate, six new composite indicators take the suite past sixty with every one of them agent-readable, and a pair of funds-path fixes land.
- Added: A strat-switcher chip — select any agent mark (or focus one from chat) and a draggable card shows who drew it, the analysis it belongs to, a miniature of the actual mark, its price range, and a jump to the thesis behind it. Cycle through every mark one at a time, with lock and hide on hover and an on/off toggle in the chart toolbar.
- Design: Focused-only chrome — while one mark holds the focus, every other mark drops its labels and pills down to bare geometry, so a busy analysis reads one strategy at a time instead of a wall of tags.
- Fixed: Level names no longer pile up — labels for marks above or below the visible price range are suppressed instead of stacking on the chart legend, and the visible ones de-collide into clean rows with leader lines back to their levels.
- Fixed: Position price tags stay glued to their lines — an off-screen take-profit no longer drags the whole tag stack away from its levels when you rescale.
- Improved: Every on-chart tag now sits on an opaque backing, so labels stay readable over candles and indicator bands.
- Added: Setups drawn onto future bars now render in the chart's future gutter at their true position, instead of collapsing into a sliver at the right edge.
- Added: Your working orders on the chart — resting limit orders and attached take-profit / stop-loss triggers render as dashed price lines (gold LIMIT, green TP, red SL) beside the solid entry and liquidation rail.
- Improved: The drawings panel speaks the agent's language — rows show each mark's own label, one eye toggles a whole set, and clicking a set's name opens the chat thread that drew it.
- Improved: The redesigned watchlist widget is now the default for everyone.
- Added: Your agent can read your watchlist. Ask it to go through your list and look for setups and it now sees exactly the markets you starred, across every venue: perps, tokenised equities, and prediction markets in one list.
- Added: Your agent can curate it too. It can add a market, remove one, or reorder the list, and every market it adds carries a short note saying why it is there, so the list explains itself when you come back to it a week later.
- Added: Watchlists become plural, and they follow your account. Keep separate lists for separate ideas, hold up to 500 markets in each, and see the same lists on every device you sign in from instead of one list stuck in one browser.
- Added: Divergence and confluence markers now run across the whole oscillator family, not just the panes they debuted on.
- Added: Six new composite indicators, each one blending several classic readings into a single line you can act on: Composite Momentum, Trend Strength, Mean Reversion, Volume Pressure, Squeeze Momentum (the classic TTM squeeze), and Confluence Score, which counts how many of the others agree with each other right now.
- Improved: The indicator suite passes sixty. Every one of the 68 is live, chartable, and readable by your agents, so anything you can put on a chart, an agent can reason about in an automation or a trigger. There are no chart-only indicators left.
- Fixed: Limit orders from the position widget work again; they were being sent with a reserved order type the exchange rejects.
- Fixed: Agent withdrawals and sends now work on Hyperliquid unified accounts instead of assuming the legacy account layout.
- Fixed: Sign-ins with two-factor auth enabled no longer trip a browser security preflight.
- Fixed: Bracket orders stop reporting phantom failures. A stop-loss and take-profit that Hyperliquid had accepted and was holding until their trigger price were being read as missing, so a protected position looked unprotected — and the obvious response, placing them again, risked doubling up. Orders awaiting a trigger are now recognised as what they are: placed.
- Fixed: A suggestion whose timestamp went missing showed as fresh forever instead of ageing out. Anything that cannot be aged is now marked invalid rather than current, so a stale idea cannot present itself as a live one.
- Security: Recovery phrases are scrubbed from error reports. Wallet secrets were already redacted when they arrived in a named field, but a seed phrase pasted into a chat message and swept up by a crash report was not. Any twelve-word-plus phrase is now filtered before an error leaves your browser. Transaction hashes are deliberately left readable, so support can still trace a trade.
- Security: Web addresses in error reports are properly scrubbed again. A link carrying a query string took a different code path from one without, and that path skipped the step that strips credentials and blocks data-provider addresses — so a key embedded in a link could leave the browser intact. Every address now takes the same path, and the ones with nothing to hide arrive readable instead of scrambled.
- Fixed: A genuine crash could go quiet if you had just declined a wallet prompt. Declining is expected and gets filed away quietly, but the check that recognised it read the whole error report rather than the failure itself — so a real bug that happened to follow a declined signature inherited that treatment and was filed away too. The check now looks only at the failure being reported.
v2.0 Closed Beta — The Terminal
The rebuild opens to a closed beta cohort. Everything since 2023 — custody, multi-chain, agents, live trading — folds into one workspace you operate in plain English: you describe what you want, and an agent is built, funded, and put to work. This was the month all of it had to survive real users, so most of the work closes the gap between “it demos” and “it holds.” The largest single month in the project's history.
JUN 1
The keystones the rest of the beta is built to feed. MetaChat turns a sentence into a running agent; REP turns an agent's track record into a public, ownable asset.
- Added: MetaChat — describe a strategy in plain English and an agent is built, funded, and deployed. The input is a sentence; the output is a live trader you can inspect, fund, and stop.
- Added: REP — public reputation scores and a visible agent lineage, plus creator royalties when your strategy is copied, so good work compounds instead of evaporating.
- Performance: A leaner production bundle and cached per-user account lists — the app opens faster for everyone arriving at once.
JUN 8
The unglamorous prerequisites — money you can actually move and a typing path that stops fighting you — so a first agent costs nothing and the terminal feels instant.
- Added: Agent Wallet — fund, swap, send, and bridge in one place, with Send / Swap / Deposit on every balance row, so moving money is a click from wherever you already see it.
- Added: A free tier — create and run your first agent on us, on free-tier models with a trial countdown, so the cost of trying is zero.
- Performance: Input-latency overhaul — composer keystroke isolation and socket batching for noticeably snappier typing and live updates.
JUN 15
The agent's world stops being a single chart and becomes a browsable map — and a strategy stops being a prompt and becomes an object you can edit.
- Added: Strategy Outline — a visual editor for multi-condition triggers with an AI “Redline” diff that shows exactly what an edit changes before you accept it.
- Added: Market Map — April's market heatmap grew into one map across perps and prediction markets, zoomable from a single asset out to a Global view.
- Added: Coinbase connector and a refreshed split-screen sign-in
- Improved: Inbox renamed to Threads, with resume and discovery hints, so a conversation is something you return to, not lose.
- Improved: Responsive layouts for more widgets, with an offline fallback for the indicator library
- Design: Market avatars in the hover-card header
JUN 22
The heaviest week — the strategy editor, automations, and billing all cross from “present” to “usable,” and a Welcome-to-Beta modal sets honest expectations for the cohort.
- Added: Strategy Outline became a real editor — change the instrument across every leg, chain conditions together, edit schedules inline, and drop in a market trigger. A multi-condition strategy is now something you compose, not hand-code.
- Added: Automations V2 — describe-or-build-by-hand condition cards with a results-led list, so it's obvious what an agent will do and why before you turn it on.
- Improved: The automation detail became a full editor — a When · Do · Then breakdown you change clause by clause, with multi-trigger condition groups, inline chaining into follow-on actions, editable schedules and run-gates, a market-trigger affordance, clone and delete, and a recent-runs strip. Every automation is now inspectable and editable in place.
- Added: A faster path to live for new users — an agent startup checklist above the input and a Welcome-to-Beta modal that's honest about what's known-good versus still-rough.
- Added: Subscriptions and spend clarity — the credits foundation from the rebuild's first month grew into Stripe plans with a 14-day trial and per-tier allotments, plus a Purchase Credits panel that forecasts your monthly burn against your plan and nudges an upgrade before you run dry.
- Added: An optional algo-trading comparison report
- Improved: Buying credits got simpler — a reworked modal with clear pricing, x402 pay-as-you-go top-ups, in-checklist purchases, and one CDX staking discount honored across every rail.
- Improved: Smarter command-palette search, consolidated wallet / bridge surfaces, and more reliable AI responses via a Vertex-first provider fallback.
- Design: A coherent Strategy Outline visual language — asset avatars and venue logos in scope chips, hover-reveal controls (group-zoom, per-leg menus, full resolved scope), and a unified radius / separator pass that retired the dead Inherited badge.
- Design: Branded transactional emails with confirm / expired screens, and an Agent Wallet built-in layout preset.
- Fixed: Automations editor polish — inline schedule editing without scrolling, a create bar that visibly focuses on “+ New”, and no more duplicate expand on the When conditions.
- Fixed: Reliability touch-ups across the terminal — a live (not stale) header date, context attachments rendering in agent messages, surfaced per-source feed errors, a template popover that survives a search-click, a viewer tab switch that no longer breaks the URL, and a wallet “View on Explorer” that points at the HL explorer.
JUN 29
Consolidation before the doors open — wallets collapse into one manager, referrals go live, and the phone becomes a real surface rather than an afterthought.
- Added: Wallet Manager V2 — a Master-Detail view of every external and agent wallet, with Portfolio holdings and price alerts folded in, so one screen answers “what do I hold, and where?”
- Added: Compute Share — the referral program is live, earning credits for every user you bring.
- Improved: Market Map heatmap — category roll-up buckets, a venue filter, a Probability sizing option, and a field-chart aggregate hover
- Improved: Terms acceptance moved into signup, dropping the post-login legal gate
- Design: Edge-to-edge mobile MetaChat — keyboard-aware, with swipe-to-dismiss
- Design: A Basic / Advanced model picker — tier budgets, provider brand logos, and sortable columns
- Fixed: Mobile polish — reachable drawer close buttons, a tamed first-run popup pile-up, and no more iOS zoom-on-focus
- Fixed: Backtest trade timestamps normalized across seconds and milliseconds
Outcomes, AI Inbox & Funding
Agents had learned to trade perps; the next frontier was betting on the world itself. Prediction markets arrive — but the real month was the plumbing: the agent starts messaging you in real time the moment something matters, funding collapses from a chore into a click, and prompt caching makes reasoning cheap enough to iterate freely.
MAY 4
Betting on the world itself — prediction markets fold into the same discover → understand → act flow that lived beside perps, so your agent's playground is no longer only directional.
- Added: Prediction (Outcomes) markets via Hyperliquid HIP-4 — a discover → understand → act flow beside perps
- Design: Polished widgets, four new analysis widgets, and a dashboard preset
- Design: The Outcomes preset redesigned around discover → understand → act
MAY 18
Safety gates tighten — deprecated models drop away cleanly, the agent picker makes sense, and a guardrail stops a confused agent from moving your money.
- Improved: Automatic handling of deprecated AI models
- Improved: A clearer reasoning-strategy picker
- Design: A redesigned agent switcher with sections, stats, and a favorite toggle
- Security: Restricted agent withdraw / send as a safety guardrail
MAY 25
The moment agents stopped being background tasks and started talking back — the terminal tells you the instant something matters, so you stop checking and start being told.
- Added: A real-time AI inbox — your agents message you the moment something happens, so you hear it from them instead of by checking.
- Added: The money plumbing for new users — multi-chain agent funding with partial-fill detection, a unified activity feed with transaction receipts, and a guided terminal tour.
- Added: New indicators — Andean bullish / bearish cross
- Improved: Goals organized under their agent
- Design: Integrated chrome mode with a widget background sweep, plus profile-panel polish and a top-bar gap fix.
- Performance: Cheaper and faster agents — ~90% off reasoning via prompt caching on every strategy, and parallelized backtests with a cached per-run prompt, so iteration gets cheap enough that testing stops eating your monthly budget.
- Fixed: Chat reliability — two-way sync between the chat card and the editor, and de-duplicated streaming so messages no longer double up.
- Fixed: Trading-data correctness — spot-market decimals, RSI / stochastic oversold-overbought defaults, de-duplicated indicator calculations, and daily-volume retrieval.
- Fixed: Withdrawing without a specified amount, and schedule start / end date errors.
MetaChat & Terminal Intelligence
The month the assistant stopped being a chatbox and became a co-pilot — streaming its reasoning as you watch, drawing directly on your charts, and reshaping the workspace around what you're doing. The terminal's brain woke up: real-time thinking, deeper tool integration, and an agent that doesn't just answer but acts on the market it sees.
APR 6
MetaChat got its face reconsidered — every visual element from fonts to motion — so the assistant doesn't just answer, it speaks your workspace's language.
- Design: MetaChat got a thorough visual pass — a UX overhaul (fonts, scroll, motion audit, focus-blur, auto-grow), redesigned tool-call artifacts, and polished D3X system messages.
- Design: A blog redesign and design-system documentation.
APR 13
The heatmap becomes your market window — and the terminal learns to brief you, and to guard your balance before a strategy can drain it.
- Added: A unified market heatmap widget, plus MetaChat content routing and an artifact panel
- Improved: Terminal briefing mode and an overhauled power-user layout editor, retiring the legacy dashboard
- Improved: Credit guardrails — goals, triggers, and technical-analysis runs check your balance first, so nothing starts that can't finish
- Design: A ReasoningBlock bubble layout and a tooltip sweep across the terminal
- Fixed: Posting limited to enabled agents, and the widget editor pinned to the viewport.
APR 20
Real-time thinking arrives — watch the agent reason as it happens, and trigger-building goes from hand-coded to composed.
- Added: MetaChat streams its thinking live and warms up instantly, with a unified model “thinking” display — ask a question, watch the reasoning chain unfold, and get back an answer you can trace.
- Added: An expression-tree trigger system and backtesting tools — maturing January's advanced trigger system into composable, backtestable logic you can chain visually and test against history before risking capital
- Fixed: Steadier runs — handled a missing goal status, API response-parsing errors, and an undefined market on an order notification.
APR 27
The agent moves from explaining your market to drawing on it, pulls its own P&L into the open, and two-factor auth locks the door.
- Added: Agents draw directly on your charts — levels and zones — from a conversation
- Added: Agents can pull their own P&L history
- Security: Two-factor auth — per-endpoint 2FA, per-device grace, and mobile QR — plus a mobile app
- Fixed: Cross-chain bridge (LiFi) parsing, more lenient goal-tool parsing, and memory sizing to avoid run errors on truncated data.
Scheduling, Security & Streaming
Automations gained a clock, the front door got locked, and an agent's reasoning became something you can watch happen. Config templates let you fork a working strategy, schedules run goals while you sleep, and layered auth stops the door opening for everyone.
MAR 9
Reusable starting points — config templates and run history turn every agent you build into a pattern the next one can start from.
- Added: Agent config templates and run history in the goal detail panel
- Design: A brand-token rollout across landing, dashboard, and shared components, plus D3X mascot components and brand assets.
- Design: Tooltip portal fix and position-panel improvements.
MAR 16
The terminal starts learning your habits — layouts stick, your last market survives a reload, and keyboard shortcuts arrive.
- Improved: The terminal remembers your last market, restores layouts, and adds keyboard shortcuts
- Design: Chain-of-thought reasoning redesigned for timeline-friendly output, on a refined motion system with new UI primitives.
- Security: Sign-in hardening — hCaptcha and email verification, plus a comprehensive security audit and hardening pass over session management and access policies.
MAR 23
Agents no longer need you watching — schedules run goals on a clock and reasoning streams live, so background trading is something you review, not babysit.
- Added: Scheduled automations — agents run goals on a schedule, with a next-run readout
- Added: Live reasoning visualizations (Graph-of-Thought / ReAct) streamed as the agent works — so you see why an order happened, not just that it did.
- Fixed: Reasoning robustness — final-output handling, context overflow, CoT efficiency, and a summarizer-model swap to dodge context-size errors.
- Fixed: 406 errors, a referral race condition, withdrawal errors, and VPN / proxy users no longer blocked (only datacenters).
MAR 30
Incremental hardening before scale — chat streaming steadies, version history lets you trust an experiment, and empty ops panels stop pretending to have data.
- Improved: More reliable agent chat streaming
- Improved: Per-agent version history you can roll back to
- Fixed: Hid empty operations panels and got staking working on the operations page.
Landing, Staking, Reasoning & Dashboard
A product worth using needed a face, a token economy, and smarter agents — all three landed this month, closing the gap between a working prototype and something you'd actually stake money on.
FEB 2
The terminal gets its first mirror — a dashboard that shows what your agents have done, so you can judge their reasoning before you stake more.
- Added: A dashboard with trading stats, portfolio summary, and AI suggestions
- Restored: The multi-chart grid — watch several markets side by side again, now on the rebuilt terminal.
FEB 9
Network effects switch on — invite a friend, you both earn credits, and anti-abuse keeps the spam farms out.
- Added: Referral program
- Security: Anti-abuse — device fingerprinting and IP protections
- Fixed: A double wallet popup — added a cooldown
FEB 16
The product stops living in code — a public landing page, and a real token economy where you can stake CDX, climb tiers, and earn yield from the protocol's own success.
- Added: A rebuilt V2 landing experience — sections, live charts, team, and grants — finally gives the product a public face, so a stranger sees what you see instead of “under construction.”
- Added: The token economy goes live — CDX staking with tiers, a tier-up celebration, and yield-flip, plus a token swap interface, so holding CDX ties you to the protocol's upside, not just its product.
- Added: More depth in the terminal — trigger overview and monitoring, recent chats and run history in the chat and goal panels, and a live stats stream on the feed.
- Improved: Operations supply architecture and grants expansion
- Design: A brand and landing visual pass — official logo assets, a theme-aware favicon, a 3D token, reworked ASCII patterns, a responsive nav with scroll effects, and landing UX polish.
- Fixed: Sign-In with Ethereum nonce / token handling
FEB 23
Agents gain memory and judgement — they reason differently per goal, remember what worked, and wait for your approval before doing anything irreversible.
- Added: Agent reasoning modes and a workflow debugger with human-in-the-loop approval
- Added: A Memories panel — agents keep long-term context across sessions
- Fixed: Chart data now visible on initial load, cleaner tool-call display names, and suggestion chips that wrap and scroll.
Scaling & Spot Trading
The rebuild hardened for production — multi-master failover, distributed locking, Sentry, and a Serwist PWA — while trading deepened with Hyperliquid spot, advanced triggers, charts, and a trading journal, so every decision became auditable and every strategy an expression instead of code.
JAN 5
Spot trading arrives on Hyperliquid, and the terminal gains the views it needs — Market Breakdown and heatmap charts, so the landscape reads at a glance.
- Added: A Hyperliquid Spot exchange, with an exchange toggle on the chart — spot and perps from one terminal, a keystroke apart.
- Added: Market Breakdown and Trading Heatmap charts
- Added: Trade-history reasoning pulled from Supabase positions
- Improved: Chart tools, plus line and area chart types
- Improved: Agent template details — full metrics, total goals, and triggers
- Fixed: 406 errors on Twitter scraping, versioning, and bot metrics
JAN 12
Advanced triggers move from wishlist to system — composable signals and L2 order-book data, so a strategy becomes an expression instead of hand-coding.
- Added: An advanced trigger and indicator system — compose conditions visually instead of hand-coding, so a multi-leg strategy is something you assemble and test.
- Added: Hyperliquid L2 order-book tools
- Improved: Jaeger / KeyDB memory limits and auto-rewrite settings
- Fixed: Tool input validation, prompt context, and spot-market filtering
- Fixed: An x402 settle call and a 406 on credit-balance checks
JAN 19
The infrastructure multiplies — multi-master pub/sub, Redis replication, distributed locking — so the platform survives real user weight.
- Platform: Multi-master pub/sub with failover and Redis replication — the system keeps running through a lost node, so your agents trade uninterrupted around the clock.
- Added: Distributed locking for horizontal scaling across daemons and queues
- Improved: Agent-chat queue concurrency and health checks
- Improved: Chart line / area data conversion on type change
- Fixed: Paused goals reactivating, email registration, and HL tool params
JAN 26
Visibility and reflection land — Sentry, a trading journal, and custom analytics — so every decision leaves a trace you can study.
- Added: Sentry error tracking and performance monitoring
- Added: A trading journal — your decisions and the agent's reasoning side by side, so you can audit why a trade happened and learn from the pattern.
- Added: Custom event-tracking analytics (Supabase + Sentry)
- Improved: Migrated the PWA to Serwist on Turbopack; a @samson/ui component-library workspace
- Improved: Reworked onboarding with clearer billing and bot-config fetching
- Fixed: Hyperliquid fills daemon — candle caching, time formats, and crossing fills
The Terminal Rebuild Begins
The turning point. The original platform had proven the idea but couldn't carry the vision — so the team started over, rebuilding the entire experience from the ground up as a single unified Terminal: a new real-time frontend, new trading venues, and a PWA.
DEC 1
The rebuild begins in earnest — a new unified Terminal frontend, real-time data plumbing, and a credits foundation that will carry the economic layer.
- Platform: The turning point — the entire frontend rebuilt from the ground up into a single Terminal. The foundation every capability this year stands on, and what makes v2 possible.
- Added: Polymarket market data via a cached Gamma API client with database sync
- Added: Coinbase and Kraken order books with structured bids / asks
- Added: A billing provider and credits foundation
- Fixed: GMX market info after a subgraph change, HL deposit precision, and candle timestamp format
DEC 8
Laying the invisible rails — scheduled analysis, P and L sharing, Dockerized deployments that hold under load.
- Added: A scheduled technical-analysis engine
- Added: P&L share cards
- Improved: Dockerized deployment with health checks
- Fixed: HL token list, asset IDs, and HIP-3 dex assets; BigNumber handling
DEC 15
The terminal learns to move money and stay alive offline — PWA caching, real-time sockets, gasless payments, so using the app means never losing your place.
- Added: A guided onboarding flow with feature-update and warning modals
- Added: Real-time data via a SocketProvider — Hyperliquid candles, prices, and live positions
- Added: PWA support — service worker, offline caching, and web-push notifications
- Added: Pay-per-use (x402) gasless USDC payments — pay for exactly what an agent uses, no gas, no subscription.
- Added: Token balances and swaps via Odos
- Improved: Bulk goal actions (pause, resume, delete) and a faster PowerUser layout editor
- Design: Responsive, accessible terminal panels and SEO / OpenGraph assets
- Fixed: HL order placement and status, x402 status updates, and an invalid-goal 406
DEC 22
Multi-venue sprawl — Alpaca stocks, Binance streams, hardened auth — so agents can trade anything you can name.
- Added: Alpaca (stocks) brokerage — accounts, ACH, and market data
- Added: Binance WebSocket market data
- Added: User-scoped account and trading endpoints
- Improved: A legal-agreement onboarding step with risk disclosure
- Performance: Deferred data fetching, aggressive caching, and preconnect for a faster first load
- Security: Hardened auth — OAuth PKCE, email verification, magic-link, and password change
- Fixed: ERC20 silent transfer failures, CDX balance checks, and HL triggers
DEC 29
One month closes the gap — metrics visible, automations stable, billing working, and the foundation ready to carry what comes next.
- Added: Trading-performance metrics and user fills from the REST API
- Added: Trailing stop-loss / take-profit and risk-level subscription config
- Design: A cleaner fund-agent wallet UI with dynamic connectors
- Fixed: Silent transaction errors, a copyable-agents 406, and model-context-exceeded messaging
Hardening & Observability
Before the rebuild, the v1 platform got a stability pass — error tracking and health monitoring went in, the goal queue got smarter, and a long tail of trading-data bugs across GMX and Hyperliquid were squashed.
NOV 3
The old platform gets armor before the rebuild ships — stricter guards around money, deeper error tracking.
- Improved: Stronger billing concurrency guards
- Fixed: GMX symbol handling — ETH / BTC, spot-only markets, and BTC-as-index collateral
- Fixed: Daily-volume precision and signed-typed-data signing
- Fixed: Swap errors, the Twitter API, and the on-signup call
NOV 10
Market data stops lying — better parsing so the agent's eye stays clear even when venues change their minds.
- Improved: More robust tool-output parsing (token symbols, return objects)
- Fixed: Portfolio balances and the Hyperliquid portfolio service
- Fixed: Model-sync and tool-id resolution
NOV 17
Seeing inside the machine arrives — traces flow through, queues hold steady, you can audit what the system actually did.
- Added: Comprehensive health-check endpoints and Uptime Kuma status monitoring with autoheal
- Added: An improved goal queue manager for scheduling
- Performance: Fixed memory leaks in the technical-analysis service and caching
- Fixed: Hyperliquid market tools, filters, and parsers; HL Builder fee approval (sanitized typed data)
- Fixed: SL / TP size rounding and HL markets caching
NOV 24
The final hardening pass of v1 — errors surface cleanly, the queue is ready, the platform can stand down with dignity.
- Added: Sentry error tracking and performance monitoring
- Improved: Agent-chat queue performance and stability
- Fixed: x402 payments, HTTP 406 errors, and plugin-vote calls
- Fixed: GMX Avalanche token list, social-manager init, and current-month credits (function → view)
Backend Foundations
October laid the groundwork the rebuild would stand on — the x402 payment rail, paper-trading simulation, trustless-agent identity (EIP-8004), a trading execution queue, and chart-trigger automation — alongside a steady run of GMX and Hyperliquid fixes.
OCT 1
Work gets a backbone — the execution queue arrives, trades become jobs, assets know where they live across venues.
- Added: A trading-agent execution queue and a comprehensive supported-assets schema
- Added: Multi-broker account schemas and portfolio / pricing endpoints
- Fixed: Model sync, caching, and fallback; approval-amount and min-wrap calculations
- Fixed: Chat tracing and the Allora data feed
OCT 6
Capital plumbing works at scale now — x402 payments, paper trading, trustless agents that self-sign — so money moves without bottlenecks.
- Added: The x402 payment protocol — facilitator service, routes, and schema
- Added: Virtual portfolios for paper-trading simulation
- Added: EIP-8004 Trustless Agents
- Fixed: SL / TP implementation, position close, and Odos input validation
- Fixed: GMX token errors, oversized summaries, and cache keys
OCT 13
Charts wake up — you can draw a line and have the system watch it, turning static analysis into active triggers.
- Added: Chart-trigger automation
- Fixed: The performance evaluator, comparison-context builder, and undefined-steps handling
OCT 20
The moment when balance-fetches stop blocking everything — parallelization so the system stays responsive when you need it most.
- Performance: Parallel token-balance fetching at scale
- Fixed: Trigger-once dedup across multiple true triggers, empty positions, and multi-call parsing
- Fixed: Chart-drawing storage and CreateChartTrigger params
OCT 27
Steady refinement on venue parsing keeps the agent's market view unclouded.
- Fixed: GMX prices, Odos setContext, and gas-swap handling
- Fixed: Missing candle indicators and article search
The Abstraction Layer
September abstracted the plumbing — per-agent wallets across EVM and Solana, a venue-agnostic exchange layer, real-time WebSocket streaming, and new instruments (Binance Futures, options) — while billing moved from tier-gated to pay-as-you-go.
SEP 8
The agent starts picking its own mind — model selection per goal, not a global choice that locks everything in.
- Improved: Default model selection across agents and nodes
- Fixed: Default model IDs and analysis robustness
SEP 15
Venues stop being distinct islands — a unified abstraction means the agent doesn't care if it trades Binance or Hyperliquid, they're the same interface. Billing breaks free from tiers.
- Platform: An exchange-abstraction layer — one venue-agnostic interface beneath every exchange, so the agent trades Hyperliquid or Binance the same way and new venues slot in without a rewrite.
- Added: Binance Futures support
- Added: An options pricing and strategies service
- Improved: Billing moved from tier-gated to pay-as-you-go
- Fixed: Analysis reliability, default model names, and portfolio collaterals
SEP 22
Each agent gets its own wallet and the market ticks live — per-chain isolation, WebSocket streams, so capital stays separate and pricing never goes stale.
- Added: Per-agent wallet abstractions across EVM and Solana
- Added: A WebSocketManager for real-time pricing and trade streaming
- Added: A trading-authentication tool for sessions and API keys
- Fixed: SL / TP trigger-price validation, balanceOf multicall, and market-not-found
- Fixed: Public analysis, tweet fetching, and scrape-list defaults
SEP 29
Data sources stay clean through small, focused fixes.
- Fixed: The Moralis API and CoinGecko sorting
Arbitrage & Risk Controls
Steady summer backend work on v1.0 — an arbitrage bot, GMX stop-loss / take-profit, a BullMQ job queue, billing webhooks, and a technical-analysis engine.
AUG 1
Summer foundations ship on a day when invisible plumbing beats visible features — technical analysis, arbitrage detection, Twitter-to-trading pipelines all arriving at once.
- Added: A technical-analysis feature
- Added: An arbitrage bot — controller and daemon
- Added: Twitter scraping and article generation
- Improved: Agent performance evaluation, data-accessor tools, and bot listing / security
AUG 4
Capital protection finally arrives — stop-loss and take-profit move from the wish-list to live on GMX, letting agents preserve wealth instead of just deploying it.
- Added: Enhanced SL / TP across GMX order creation and the position manager
- Added: Etherex integration
- Improved: GMX controller, SDK wrapper, and caching; arbitrage engine in USD terms
AUG 11
Daemons learned to toggle without crashing, and arbitrage math moved from chaos into clarity.
- Improved: Daemon enable / disable controls and logging; arbitrage token management
AUG 25
Order chaos becomes order — Redis chaos becomes BullMQ, and chat workflows shift from hanging threads to updates you can watch in real time.
- Added: A billing webhook route with transaction handling
- Performance: Migrated queues to BullMQ; cached and orchestrated the chat workflow with streaming updates
- Improved: GMX order-creation refactor and faster child-wallet balance checks
Charting & Tooling
Mostly polish — chart-drawing tools, sharper agent tooling, and a handful of trading-reliability fixes.
JUL 1
Token accounting surfaced, agent tools sharpened, the month lived between polish and foundation.
- Added: Token-usage metrics
- Improved: GMX position management and analysis
- Fixed: Inconsistent SL / TP orders and validation
JUL 7
Charts stop being read-only — agents draw freehand lines and labeled zones, and tool precision climbs so the AI stops fumbling.
- Added: Chart-drawing tools with analysis grouping
- Improved: Agent tool descriptions and typing
- Fixed: Goals getting stuck, swap error cascading, and pubsub promise rejections
Tracing & AI Reliability
June turned the lights on inside the agent — distributed tracing (Jaeger / Prometheus / Grafana), a class-based prompt system, and typo-tolerant tool inputs — to make AI-driven trading dependable.
JUN 1
The agent's reasoning becomes transparent — Jaeger traces, Prometheus counters, Grafana dashboards — so every choice leaves a trail you can study.
- Added: A distributed-tracing stack — Jaeger, Prometheus, and Grafana
- Added: New GMX order-creation endpoints and GraphQL market info
- Improved: A class-based prompt system for more coherent AI output
- Improved: Swap reliability — higher default slippage, an Odos gas buffer, and queue health meters
- Improved: Renamed TradingBot tools to Agent tools
JUN 8
Trading architecture rewired — order creation hits GraphQL, swaps survive slippage, chat never drops halfway through.
- Added: Order-update functionality in position management
- Improved: Billing routes and model-management endpoints
- Improved: Re-enabled the chat processor in the agent workflow
JUN 15
Cost control became real — OpenRouter picks the cheapest model, wallets get walled gardens, and typos in tool calls stop cascading into silent failures.
- Added: OpenRouter integration for model cost optimization
- Added: A dedicated trading wallet in bot configuration
- Improved: Moon account creation and transaction signing
- Improved: Tracing across GoalManager with standardized botId attributes
- Fixed: Swap nonce reliability after approval
JUN 22
Multicall cuts N balance checks down to one, Levenshtein fixes UUID typos, and tracing threads finally become readable.
- Added: A Multicall3 interface to fetch many token balances in one RPC call
- Added: A GMX SDK update with charting tools
- Improved: Levenshtein typo-correction for UUIDs (botId / runId / goalId) in tool params
- Improved: Chat and agent-workflow tracing to study AI errors
- Performance: Rate-limit and retry on concurrent token-balance fetches
Plugins, Social & Events
May widened the agent's reach — a plugin embedding / search system, social-platform integration (Slack, Twitter, push), an event-processing pipeline, a full GMX API, and Arbitrum support.
MAY 1
Bitcoin export polish and swap error fixes — small month by design, foundations don't announce themselves.
- Added: Bitcoin account export
- Fixed: Swap approval errors and failing-transaction broadcasts
MAY 5
Tool execution learned context-carrying, metrics started recording reality.
- Improved: Agent tool execution and context handling
- Improved: Basic metrics and tracing
- Fixed: Prevented ETH→ETH swaps and unbroadcast failing transactions
MAY 12
Agents got voices — Slack routing, Twitter integration, push notifications — so the platform talks back instead of waiting for you to ask.
- Added: Social-platform integration — Lists API, message routing, and push notifications
- Added: An event-processing service with webhook handling
- Improved: Adaptive-learning knowledge retrieval
- Improved: Input validation for Allora and EVM addresses
MAY 19
GMX became a fully readable instrument — market data, positions, orders, and trades in one API — while Slack events started flowing and state management stopped betraying intent.
- Added: A GMX API controller — market data, positions, orders, and trading actions
- Added: Slack event routing and pubsub event handlers
- Improved: Reworked AgentChatWorkflow state management
- Improved: Tracing across job queues and main controllers
- Fixed: Token-price validation before order creation
MAY 26
Plugins embedded themselves and searched their own knowledge, Arbitrum joined the map, and realized P and L math stopped lying about partial fills.
- Added: Plugin embedding and search endpoints
- Added: Arbitrum chain support
- Added: Model selection for goals and bots
- Improved: Realized-PnL accuracy (closed trades only) and SL / TP partial-fill handling
- Performance: Token deduplication from O(n²) to O(n) and a shared EVM-wrapper base class
The Plugin System
Agents became extensible — a real plugin system (GraphQL, OpenAPI, default tools), reusable agent / goal templates, and new analysis tools (Blave whale-hunting), all running on a BullMQ goal queue.
APR 1
Config templates and plugins interlock — strategies become something you fork and iterate on instead of rewriting from scratch.
- Added: GraphQL plugin support and an RFX ABI library
- Added: Agent and goal template creation from existing items
- Improved: The agent workflow now runs on plugins, with default agent tools
- Improved: Goal scheduling moved onto a BullMQ queue (one run per queued goal)
- Improved: Agent reasoning visibility
APR 7
Market intelligence sharpens — whale detection and holder analysis surface — so the agent spots accumulation before the crowd moves.
- Added: The Blave API — holder-concentration and whale-hunter analysis
- Added: Article creation and retrieval APIs
- Improved: Token-usage tracking per bot and category
APR 14
Order creation matures and dependency graphs tighten — positioning becomes clean, code becomes testable.
- Added: A tool to create trading positions
- Improved: Limit-order processing and cancellation
- Improved: Dependency-injected controllers and tighter agent nodes (PerformanceEvaluator, CompletionAssessor, AgentTools)
APR 21
Billing and persistence arrive — agents stop being ephemeral and become something you can charge for running.
- Added: Billing routes
- Added: A DatabaseTool for multi-database support
- Improved: Checksum functions
MCP, Knowledge & Resilience
March made agents smarter and sturdier — MCP server support, a knowledge graph woven into evaluation, an adaptive-personality node, order health-checking and recovery, and the first security rules.
MAR 3
The agent starts keeping score — P and L become observable so humans can audit whether it actually works.
- Added: A TradingStatsService and PositionManager for performance and PnL tracking
- Improved: Order processing with transaction handling and runId tagging
- Improved: Supabase price updates
MAR 10
Social tendrils grow — plugins sprout routes for voting, trending, messaging — so agents can live in communities instead of code.
- Added: Social plugin routes — vote, favorite, and trending
- Added: Statistics endpoints (powering the Sophon UI)
- Improved: Goal-data endpoints, gas-token handling, and new order types
MAR 17
Reusability lands — MCP opens the toolbox so every agent doesn't rebuild everything from scratch.
- Added: MCP support — an MCPTool and factory for MCP servers, extending the plugin system into a standard ecosystem of reusable tools
- Added: Agent and goal template controllers
- Added: Swarms and guilds APIs
- Improved: Knowledge integration into performance evaluation
- Security: Security rules v1
MAR 24
The agent learns who it is — adaptive personality, knowledge graphs, order recovery — so it reasons contextually and survives its own mistakes.
- Added: An adaptive-personality node for context-aware responses
- Added: Order health-checking, recovery, and feedback
- Added: A knowledge graph with entity handling
- Improved: Gas and signal management with signal weighting
- Improved: Instant market-order queueing and entry-order price limits
Data Tools & Plugins
February stocked the agent's toolbox — on-chain ABI tools, market-data sources (Moralis, Bitquery, CookieFun), Twitter auth, OpenRouter routing, and a richer trading state.
FEB 3
Market patterns become legible — indicators and charts arrive so an agent has the vocabulary to spot bias and react.
- Added: Technical-analysis features and a market-analysis service
- Added: A Bitquery candlestick client and a top-tokens-by-volume tool
- Improved: Limit-order processing with price events, trade-value calc, and bot-config tool registration
FEB 10
The agent's permissions expand — ABI introspection, on-chain calls, social feeds converge — so it can read and reason over arbitrary contracts.
- Added: An EthersABITool for on-chain function calls
- Added: Twitter authentication and token-management services
- Added: MoralisService — token discovery and holder retrieval
- Improved: OpenRouter replaces direct OpenAI integration
- Improved: PluginManager API tool creation
FEB 17
Position lifecycle matures — the agent understands what it owns and how to exit cleanly, and the state gets richer.
- Added: Reliquary router and relic support
- Added: A PlanGeneratorNode with component definitions
- Improved: TradingState — market conditions, position exits, and trailing stops
- Improved: V0.5 updates and capability assessment
FEB 24
The backbone tightens — pubsub threads orders through the entire system so state stays consistent even as rates spike.
- Added: Pubsub integration across order flows
- Improved: Yield adapter / aggregator logic and price monitoring
- Improved: goalId threaded through order structures
- Improved: dotenv-based configuration
Agents Arrive
The pivot. The question changed from “where do I keep my assets?” to “what if something could act on them?” — the Cod3x agent workflow, a plugin system, and an autonomous trading engine were all born this month.
JAN 1
Solana joins the multi-chain wallet, unlocking limit orders on a new ecosystem without rewriting the core.
- Added: Multi-chain portfolios — Solana — with Odos SDK limit orders
- Improved: Route definitions and Odos address handling
JAN 6
The agent opens its eyes — market data pipelines converge on one interface so strategy becomes possible.
- Added: Market-data integrations — CoinGecko, OpenSea NFTs, and ENS resolution
- Added: A Claude API client with OpenAI fallback
- Added: A MoonDataAgent and a feature-control service
- Improved: Google Cloud Translation and a response-caching layer
JAN 13
The reasoning engine takes shape — Intent, plan, execute — three nodes that turn a user request into a running order.
- Added: The Cod3x agent workflow — a multi-node reasoning engine (intent → plan → execute)
- Added: Market-order creation and a BotQueueManager
- Improved: Language detection and translation in the intent analyser
- Improved: Capability-aware planning, structured JSON output, and public bot listing
- Security: NFT-ownership gating and tier-based API rate limits
JAN 20
Daemon threads start watching the blockchain so agents can work while you sleep, and concurrency climbs so multiple bots stop fighting each other.
- Added: A base daemon framework with transaction / wallet pub/sub handlers
- Added: Native limit orders and signal tracking with weights
- Improved: PnL calculations and order monitoring
- Performance: Workflow queue concurrency raised 5 → 25; dynamic production imports
JAN 27
Agents stop being monoliths and start being extensible — the plugin foundation lands, feature growth decouples from rewrites.
- Added: A plugin system — PluginManager and CRUD plugin routes
- Added: Agent endpoints and a CookieFun router
- Improved: Structured-output validation with Zod
- Improved: DataAccessor query execution with caching
The First Trading Bot
The wallet learned to trade — limit orders on Solana, Odos swap routing, and the first automated trading bot with an adaptive personality, fed by Debank, CookieFun, and price-inference data. The seed of everything that became agents.
DEC 2
Gas routing learns efficiency — the machine starts choosing which chain, which token, which path costs least.
- Improved: Gas estimation and OpenAPI schemas
DEC 9
The bot wakes up — Claude sees your portfolio and thinks about where yield lives, fed by data brokers who know every protocol and every price.
- Added: A Claude API client and the first adaptive-personality bot
- Added: Allora and Upshot price-inference, plus a yield aggregator
- Added: Debank portfolio API (tokens + protocols) with Supabase caching
- Added: A Google Search service, Twitter API helpers, and image analysis
- Improved: Odos swap approval and gas-limit logic; bot restart and tweet history
DEC 16
The wallet stops being read-only — limit orders on Solana, trending tokens from Twitter, a kitchen sink of data sources so the bot has something to decide on.
- Added: Solana limit orders via Jupiter — create, cancel, open orders, and history
- Added: A MakeFunToken helper — token creation with image upload
- Added: CookieFun integration — trending tweets and tokens
- Added: A total-balance API across all accounts
- Improved: Trading-bot config and tweet-reply handling
- Improved: AAVEv3 data conversion and Debank error handling
Gas, Jobs & Hardening
Under-the-hood hardening — EIP-1559 gas refinements, a Redis job system, custom error handling, and the MakeFunToken helper, with the ethers stack modernized.
NOV 11
Jobs and errors find a home — Redis queues so the bot remembers work, custom error classes so it knows what went wrong.
- Added: Job-management utilities and a Redis portfolio job processor
- Added: Custom error classes, asset simulation, and chain-ID mapping
- Improved: Solana and AaveV3 wallet-balance providers
NOV 18
The ground shifts — modern ethers, Node 22, gas discipline across every wrapper — scaling stops feeling fragile.
- Improved: Migrated to @ethersproject/bignumber and bumped to Node 22
- Improved: Gas — a 25 Gwei minimum priority fee across wrappers
- Improved: Polymarket trades / open-orders and yield-aggregator BigInt serialization
NOV 25
Memetic infrastructure — MakeFunToken routes arrive so the bot can create and trade the silly tokens that drive the culture.
- Added: MakeFunToken helper routes
- Improved: Streamlined gas estimation and logging
The DeFi DEX Layer
DeFi went wide — Uniswap, Ramses, and Lynex routers; OpenSea and Polymarket data; and the first charts, embeddings, and simulation tooling.
OCT 3
DeFi explodes from a single chain into a marketplace — Uniswap, Ramses, Lynex, OpenSea, Polymarket, all speaking the same language so the bot stops seeing silos.
- Added: Uniswap V2 and V3 routers — swaps, liquidity, and multicall
- Added: Ramses — pools, tokens, voter, NFT, and gauge endpoints
- Added: Lynex router and voter endpoints
- Added: An OpenSea NFT wrapper and a Polymarket router
- Added: Token-metadata and NFT endpoints
- Improved: EIP-1559 transaction handling
OCT 14
The backend gains tools — Puppeteer screenshots what's alive, embeddings understand meaning, charts render instead of just being read.
- Added: Puppeteer, OpenAI, and nodemon tooling
- Improved: Gas-price handling in EVM and ERC20 wrappers
OCT 28
Visual thinking arrives — the bot can show you what it sees, not just tell you what it thinks.
- Added: Charts, components, embeddings, and Moralis controllers
Multi-Chain DeFi & Self-Custody
The vault grew into a true multi-chain DeFi wallet — AAVE v3 lending, EIP-1559 gas, Bitcoin / Cosmos / Ripple support, Moralis portfolios, and self-custody export / delete.
SEP 16
The vault steps beyond Ethereum — Cosmos joins, user-defined-function plumbing settles — the bot now runs on more than one chain's rules.
- Added: Cosmos integration and wallet support
- Added: Flows and user-defined-function management endpoints
- Improved: Odos logging, response data, and vault token creation
SEP 23
The infrastructure deepens — multi-chain lending, Bitcoin family signatures, portfolio aggregation, EIP-1559 gas discipline across it all — the platform survives real user weight.
- Added: AAVE v3 lending — pool routes and address-provider registry
- Added: Bitcoin-family PSBT signing (Bitcoin Cash, Dogecoin, Litecoin) and a Ripple wrapper
- Added: Moralis wallet balance and history
- Added: Odos zap (getZapQuote) and MultiCall job scheduling
- Improved: EIP-1559 across all wrappers with a 20% gas-limit buffer
- Improved: Unified broadcast / waitUntilMined
- Security: Account export and delete across all chains
SEP 30
AAVE v3 becomes navigable — balance and incentive data surface so the bot knows what yield is available and what it costs to access.
- Added: AAVE v3 wallet-balance and incentive-data routes
Cross-Chain Routers & Account Abstraction
Cross-chain plumbing — Lifi and ThorSwap routers, a Cosmos plugin, ERC-4337 account abstraction, and stronger Ethereum signing.
JUL 8
Cross-chain stops being theory — routers that speak LiFi and ThorSwap so tokens travel without leaving your sight.
- Added: Lifi and ThorSwap routers for cross-chain swaps
JUL 15
The ecosystem sprawls — Cosmos can live here, API keys authenticate here, encryption happens here, signing gets stronger.
- Added: A Cosmos plugin and an API-key authentication plugin
- Added: EIP-1024 and EIP-5630 encryption / signing in the Ethereum backend
- Improved: OAuth scopes for Supabase and vault token handling
JUL 29
Account abstraction re-enters — a path past private keys so non-technical users can still hold their own assets.
- Added: ERC-4337 account abstraction (re-added) and broader Bitcoin support
- Improved: Input-body validation, signer, and userop
Vault Tokens & Address-Based Routing
A refactor pass — chain routers moved to address-based calls, vault token handling tightened, and pubsub moved onto Redis.
JUN 10
Routing goes address-first — chain endpoints start speaking identity instead of credentials, Redis becomes the nerve center under everything.
- Improved: Chain routers switched from keys to addresses (Ripple, Litecoin, Solana, Cosmos, and more)
- Improved: Redis-backed pubsub; Docker binds Redis to localhost
JUN 17
Vault tokens stop leaking — authentication and caching lock down access so read load doesn't call itself a hundred times a second.
- Improved: Vault token creation / fetching and Supabase auth with token generation
Vault Token Overhaul
Tightening the core — VaultBackend raw-transaction handling, an ERC-1155 backend, CI linting, and a vault-token overhaul that hits the vault less.
MAY 1
Raw transactions and persistent caching arrive — the vault handles lower-level operations without round-tripping on every request.
- Improved: VaultBackend raw-transaction handling and a pubsub cache
- Improved: alwaysIncrementNonce support
MAY 13
Semi-fungible tokens fold into the supported set — the vault now holds more than just single-standard assets.
- Added: ERC-1155 token support in the Ethereum backend
- Improved: CI linting and a reusable Go workflow
MAY 27
Token overhead shrinks — fetches drop in frequency, making the whole authentication surface faster for users.
- Improved: Overhauled vault token handling to hit the vault less
AI-Powered Wallets
The vision came into focus — Moon began positioning as AI-powered wallet infrastructure, teasing a future of 100,000 AI agents interfacing with the blockchain: the seed of COD3X's agents. Under the hood, the auth and gas layers matured.
APR 8
Auth and sessions lean on a proper pub/sub backbone — permissions ground themselves in shared state instead of request-local decisions.
- Improved: Authentication and session handling; pubsub + logger on the auth router
APR 15
Tokens can refresh without a full re-auth — the credential ladder gains a middle rung so users stay logged in across interruptions.
- Added: A refresh-token endpoint
- Improved: Server initialization, middleware, and a beta server
APR 22
Ethereum-native signing and vault logic align — custody starts matching what users already know from their wallets.
- Improved: Ethereum SIWE login and transaction-signing logic
APR 29
Gas estimation becomes first-class — users no longer guess at what a transaction costs before committing to it.
- Added: Gas-estimation and gas-price-suggestion endpoints
- Added: A Myth router
Moon SDK V2 & 1300 Chains
Moon went wide — SDK V2 launched, 1300+ EVM chains worked out of the box, and account-abstraction integrations powered partner apps — all on a freshly audited vault.
MAR 4
SDK V2 simplifies integration — the vault moves from internal tool to reusable infrastructure that bridges use to ship fast.
- Added: Moon SDK V2 — easier than ever to build with Moon
- Added: Account-abstraction integrations for partner apps (Skillful AI, Encode / LightLink)
- Security: Audit remediation — fixed the sign path (message → hash), a vault-plugin crash on sign-typed-data, and account deletion
MAR 11
Type safety reaches auth — Supabase schemas lock down what data shapes the vault can accept.
- Improved: Supabase typings, metrics, and UTF-8 encoding defaults
- Security: Removed read-helper Moon functions from the vault (audit I-05)
MAR 18
JWT verification hardens — tokens can no longer be forged at the source.
- Improved: Supabase authentication and JWT verification
MAR 25
Support for 1300 chains means you can custody anything — Moon stops being Ethereum-first and becomes hardware-agnostic.
- Added: 1300+ EVM chains on ChainList, out of the box
Natural-Language Wallet & SDK
The first glimpse of agents — Moon's wallet learned plain English (“make me a wallet”, “send 100 wei”), shipped as a two-lines-of-code SDK with a Pools / Assets / Trade dashboard.
FEB 1
English-language commands talk to the vault — you can create, fund, and move assets without touching a form or copying an address.
- Added: A natural-language command interface — create and fund wallets and send transactions in plain English (vault-api.usemoon.ai)
- Improved: Gas price / limit checks in transaction signing and a JWT-auth refactor
FEB 12
One npm install gives you a custody layer — the SDK shrinks the surface so dapp builders add Moon wallets in minutes.
- Added: One-click Moon in two lines of code — drop the SDK into any dapp
- Added: A Moon dashboard — Pools, Assets, Trade, Learn, and an AI Bot
FEB 19
Gas costs surface before you commit — users no longer overpay because no one told them what a transaction costs.
- Added: Estimate and suggest gas-price RPC endpoints
- Improved: FeeInfo with float64 fee rates and gas-price display
Monorepo & Supabase Auth
The codebase consolidated — a monorepo migration, moon-vault on Supabase, and a Supabase-auth vault plugin.
JAN 8
The codebase and vault unify under one schema — workspaces share types and databases instead of drifting.
- Added: moon-vault with Supabase
- Improved: Chunked the swagger spec
JAN 15
Contract deployment and transaction construction gain platform support — the vault stops being read-only.
- Added: A deploy-contract route and BuildTransactionOpts
- Improved: Per-chain gas-price calculation
- Improved: Monorepo migration and workspace sync
JAN 22
Supabase auth becomes a vault plugin — custody and identity operate as a single trusted unit.
- Added: A Supabase-auth vault plugin
- Improved: Go 1.21 and an updated API spec
Security Audit & Memo Transactions
Locking it down — a security-audit remediation pass (JWT expiry, challenge invalidation, address handling), memo-transaction support, GitHub OAuth, and Supabase / email login.
DEC 1
Raw transactions enter the vault — now you can broadcast anything, not just vault-signed operations.
- Added: Raw-transaction broadcast functionality
- Improved: JSON-RPC handling and a Polygon testnet RPC
DEC 4
Memo support arrives for Solana-like chains, GitHub opens the door — authentication starts scaling beyond email.
- Added: Memo transactions — CreateTransactionWithMemo / SignTransactionWithMemo
- Added: GitHub OAuth (passport-github) and the DFK Chain
- Added: A payment-intent model
- Security: Audit remediation — 15m / 30d JWT expiry, challenge invalidation, no persisted OAuth tokens, unique username / email constraints, and address-case handling
DEC 11
Tokens gain expiry — 15m access, 30d refresh — the session model locks down before public launch.
- Improved: Refresh-token validation and verification
DEC 18
Email becomes the login primitive — one credential for signup, signin, and reset.
- Added: Supabase login
- Improved: Email-based sign-up and sign-in (email replaces username)
On-Ramps & SIWE
The vault opened up — fiat on-ramps via Onramper, Sign-In with Ethereum, more chains (Tron, Matic testnet), and the groundwork for cross-chain (Chainflip, ThorChain).
NOV 20
Tron joins the chain list and cross-chain rails get sketched — Chainflip, ThorChain — the vault starts thinking beyond Ethereum.
- Added: Tron support and Solana fixes
- Added: Chainflip and ThorChain groundwork, plus a payment-intent model
- Added: Matic testnet and transaction webhooks
NOV 27
On-ramps fold into the vault and Ethereum signs your identity — self-custody without leaving your browser.
- Added: Onramper fiat on-ramp
- Added: Sign-In with Ethereum (SIWE) via passport-ethereum-siwe
- Improved: Vault error handling and Tx / Response structs
Account Abstraction & Signing
Smart accounts arrive — ERC-4337 account abstraction, EIP-712 typed-data signing, EOA support, and the groundwork for 2FA and email recovery.
OCT 5
EIP-712 and account abstraction arrive the same week — types and smart accounts, both from first principles.
- Added: EIP-712 typed-data signing
- Added: Account abstraction (ERC-4337) v1, with 2FA and email-recovery groundwork
- Fixed: Message-signing encoding bugs
OCT 16
EOA support lands, winking at the future — the vault now speaks both smart accounts and traditional wallets.
- Added: EOA (externally-owned account) option support
- Improved: A large cleanup pass and error fixes
OCT 23
OAuth begins to flow — spec generation and error logging settle the exchange routes.
- Improved: OAuth-exchange error logging and swagger generation
Broadcast & Google Sign-In
A slow month — a broadcast-transaction endpoint, ConveyorFinance support, and Google sign-in on wallet.usemoon.ai.
SEP 2
ConveyorFinance support — another swap venue, another step toward venue-agnostic abstraction.
- Added: ConveyorFinance support
SEP 11
Broadcast endpoints land — the vault can push pre-signed transactions out to the network without signing them.
- Added: A broadcast-transaction endpoint
SEP 18
Google signin arrives at wallet.usemoon.ai — the first peek of a branded auth experience.
- Added: Google sign-in (wallet.usemoon.ai)
- Improved: TypeORM settings and vault TypeScript
Intents, 1inch & Deploy
The platform went live — a Vercel deployment, a local auth system, 1inch swap aggregation, and the first intents.
AUG 1
Intents land in v0 — the first sketch of a world where transactions describe intent, not method.
- Added: An auth overhaul and intents v0.0.1
AUG 21
Vercel goes live — the infrastructure multiplies, auth hardens, OAuth begins to flow.
- Added: Vercel deployment
- Improved: Auth vault, CORS, and Google OAuth
AUG 28
1inch swaps and local auth ship together — liquidity routers and session management, the plumbing of decentralized trade.
- Added: 1inch swap aggregation
- Added: A local sign-up / login system with refresh tokens
- Added: The moon-auth vault and a chat integration
- Improved: Transaction-signing reliability
DeFi Protocols — Uniswap, Aave & Yearn
DeFi took shape — Uniswap, Aave, and Yearn integrations, OAuth2, smart-contract code generation, and the first wallet refactor.
JUL 2
Smart contracts become templates — code moves from developer burden to user interaction.
- Added: OAuth2 and smart-contract code generation
JUL 9
Uniswap, Aave, Yearn land in one week — DeFi moves from dream to surface.
- Added: Uniswap, Aave, and Yearn DeFi integrations
- Added: Wallet refactor v1
- Improved: Database fixes and hot-reloading
JUL 16
Backend rethinking happens — APIs realign, client cleans up, foundations settle.
- Improved: A backend overhaul, API fixes, and client cleanup
JUL 23
Access control enters — permissions find a place to live.
- Improved: Access-control list (hashi.acl)
DeFi & ChatGPT
The first DeFi and the first AI — a Uniswap interface and a ChatGPT chat, on top of the Dockerized moon-vault-library API. DeFi was working in 2023.
JUN 1
The vault library surfaces as an API — smart wallets step into the light.
- Added: The moon-vault-library API, Dockerized
JUN 5
Routers arrive for chat — the first path for a user to talk to the system.
- Added: A chat interface with endpoints (chat routers)
JUN 12
Uniswap and ChatGPT hit the same week — decentralized liquidity meets conversational AI.
- Added: A Uniswap interface — the first DeFi
- Added: ChatGPT integration
JUN 26
Vault auth becomes portable — tokens and accounts, the groundwork for scaling beyond one user.
- Added: JWT accounts and vault authentication (OAuth2 groundwork)
Genesis — The Moon Vault
Where COD3X began — as Moon (usemoon.ai), smart-wallet infrastructure: the Moon vault library wrapped in an Express OpenAPI, the self-custodial multi-chain foundation everything else was built on.
MAY 29
The Moon vault library wrapped and exposed — a smart wallet you can build on from day one.
- Added: Contract-wrapping functions and the initial API wrapper
- Added: The Moon vault library wrapped with an Express OpenAPI
- Added: OpenAPI YAML and README generation