npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@axon-trading/cli

v1.13.5

Published

Axon CLI — local non-custodial trading terminal for AI agents (Claude Code, Claude Desktop, Cursor, Codex, Cline, Continue, Zed, Windsurf, OpenClaw). Boots the daemon + dashboard + MCP server. Trade Hyperliquid perps, Uniswap V3 spot, Aave V3 lending, GMX

Readme

@axon-trading/cli

🤖 Local non-custodial perp-trading daemon for AI agents — keys stay on your machine, every order signed locally, Hyperliquid (Lighter v1.1) behind one intent API. Boots a local service that exposes a typed HTTP surface, an MCP server, a React dashboard, and a kill switch. Designed so any LLM agent (Claude, Codex, Cursor, ...) can drive a real wallet without ever seeing the user's private key.

No hosted backend. No smart contracts in the trade path. No remote signing. The daemon owns the encrypted keystore, enforces policy, hash-chains every action into a local audit log, and routes to the venue's API. Agents submit intents and receive results.

✨ Recent releases

  • 1.13.4 — Uniswap V3 extended to Polygon (137). Polygon is the second-largest Uniswap V3 deployment by volume. 6 new tokens (USDC/USDT/WMATIC/WETH/WBTC/DAI) + 5 curated pools. Shares canonical SwapRouter02/QuoterV2 addresses with Arbitrum (deterministic deploy).
  • 1.13.3 — Aave V3 adapter extended to Avalanche (43114). Three lending chains now: Arbitrum + Base + Avalanche. New assets registered: USDC, USDT, WAVAX, WETH.e, WBTC.e. Same canonical Pool address as Arbitrum (CREATE2 via PoolAddressesProvider); Avalanche-specific PoolDataProvider.
  • 1.13.2 — Polygon (137) + Optimism (10) added as Tier-1 EVM chains. Six chains in the registry now (Arbitrum / Sepolia / Base / Avalanche / Polygon / Optimism). Foundational for v1.13.3+ venue activations (Aave V3 + Uniswap V3 + Synthetix Perps v3 on the new chains).
  • 1.13.1 — Avalanche C-Chain (chainId 43114) added as a Tier-1 EVM chain. GMX v2 adapter now supports Arbitrum + Avalanche; new AVAX market on both chains. Execute still deferred (renamed to v1.13.3).
  • 1.13.0 — GMX v2 onchain perp adapter (read-side, Arbitrum). Third perp venue. Curated market list (BTC/ETH/ARB/SOL/LINK) + live tickers via Chainlink price feeds. Execute deferred to v1.13.2 for a focused keeper-async design pass.
  • 1.12.0 — Telegram notifier (Layer 3 wake-up). When AXON_TELEGRAM_BOT_TOKEN + AXON_TELEGRAM_CHAT_ID env vars are set, urgent + warn alerts get pushed to your phone — completes the wake-up architecture for the case where no agent is even active.
  • 1.11.2 — Strategy error alerts. Daemon subscribes to its own event bus on boot; every strategy_run_end with status: "errored" emits a strategy_errored alert (severity warn) carrying strategyId, agentId, event (on_open/on_tick/on_close), and durationMs.
  • 1.11.1 — Periodic sweep emission. The existing SL/TP sweep + new health-factor sweep now auto-emit position_sl_breach / position_tp_breach / lending_health_factor_low alerts (transition-deduped). HF alerts include a repay suggestedAction ready for the agent to dispatch.
  • 1.11.0 — Agent alerts foundation (the wake-up surface). New AlertStore + GET /v1/alerts/pending + POST /v1/alerts/ack endpoints; kill-switch flips emit alerts so idle MCP agents see them on next turn.
  • 1.10.0 — Aave V3 lending adapter (Arbitrum + Base). Supply / withdraw / borrow / repay end-to-end + RiskGuard health-factor sweep (evaluateHealthFactors).
  • 1.9.0 — Uniswap V3 spot adapter (Arbitrum + Base). First non-perp venue. Base added as a Tier-1 EVM chain. Execute gated behind AXON_UNISWAP_EXECUTE=1 for the dogfood window.
  • 1.8.0 — SDK type generalization. Intent union widened to 11 kinds; new Holding / LendingPosition / StakedPosition shapes; Balance.venueMargins map. Pure refactor — no new venues — unblocks v1.9+.
  • 1.7.0 — Venue adapter abstraction. Formal VenueAdapter interface + registry; adding a venue is one adapter file + one registerVenue() call. Lighter adapter finished.
  • 1.6.0 — Chain registry generalization. Adding an EVM chain is one row in chains-config.ts + one mirror row in the dashboard.

Full changelog: CHANGELOG.md.

Works With

| Agent runtime | Auto-install | |---|---| | Claude Desktop | axon install claude-desktop | | Claude Code | axon install claude-code | | Cursor | axon install cursor | | Codex CLI (OpenAI) | axon install codex | | Cline (VS Code) | axon install cline | | Zed | axon install zed | | Windsurf | axon install windsurf | | Continue.dev | manual (YAML config) | | Anything MCP-compatible | command: axon-mcp |

Built for: Claude • Codex • Cursor • Continue • Cline • Zed • Windsurf • LangChain • LangGraph • OpenClaw • custom agents over the SDK

Perfect For

  • 🤖 AI trading agents — give an LLM real execution authority on Hyperliquid with policy enforcement that cannot be jailbroken away from
  • 🔐 Self-custody power users — keep your master EOA in MetaMask via WalletConnect; the daemon holds only an HL agent key (cannot withdraw)
  • 📊 Quant researchers — clean SDK + MCP surface for backtesting harnesses, paper-trading bots, regime-switch experiments
  • 🏢 Multi-agent ops — bind different wallets to different runtimes (Claude Desktop on production, Codex on testnet) — same tools, separate compartments
  • 🛡️ Compliance-conscious teams — full hash-chained audit log of every intent, every signed venue action, on-chain anchorable

Table of Contents

Features

  • 🤖 MCP-native — drop-in for Claude / Cursor / Codex / Cline / Zed / Windsurf via axon install <runtime>
  • 🔐 Non-custodial — keys live in ~/.axon/wallets/<id>/keystore.json (PBKDF2 + AES-GCM); the daemon NEVER transmits them. Connected wallets keep the master in your existing wallet via WalletConnect.
  • 🏦 Multi-wallet + per-agent binding — generate, import (mnemonic or PK), or connect (WalletConnect). Bind each agent runtime to a different wallet for compartmentalization.
  • 📈 Hyperliquid first-class — open / close perps, cancel orders, update leverage, deposit USDC via Bridge2 EIP-2612 permit, spot↔perp transfers, builder-fee approval flow, agent-key lifecycle.
  • 🧠 Policy engine — per-symbol leverage caps, per-agent notional limits, daily loss/fee caps, venue allowlists, kill switch. Enforced on every intent regardless of what the LLM thinks.
  • 🛡️ Kill switch — agents can ARM (one-tool call), but only humans can disarm (browser-confirmed). Cancels every open order, halts new ones.
  • 📜 Hash-chained audit log — every intent, rejection, signed action, and state change is appended to a local SQLite DB with parent-hash linking. Tamper-evident; verifiable via axon audit verify. Anchorable on-chain via AuditAnchor.sol.
  • 🌐 Localhost dashboard — React UI bundled into the CLI tarball, served at http://127.0.0.1:47890. Wizard, wallet management, position view, mode switch, kill switch, audit log inspector.
  • 🔄 Three modesdemo (synthesized everything, no chain), testnet (Arbitrum Sepolia + HL testnet), live (Arbitrum One + HL mainnet). Mode latch persists across daemon restarts.
  • 🪪 2FA-gated publishing — only Strykr Labs releases @axon-trading/* packages, via an npm automation token under 2FA. Cross-check the publisher: npm view @axon-trading/cli maintainers.
  • 💰 Platform fee transparency — 3 bps per HL order routes to the canonical platform builder address (compile-time inlined into published binaries; see TRADEMARKS.md).
  • 🌍 Cross-platform — macOS / Linux / Windows. CI matrix tests all three on every PR.

Prerequisites

  • Node.js ≥ 20 (nodejs.org/download)
  • A modern browser (the dashboard is a React SPA, served from the daemon)
  • A small amount of USDC for live trading — testnet USDC is free from HL's faucet

That's it. No Docker, no Python, no Foundry, no separate wallet software (unless you want to use WalletConnect + your existing MetaMask / Rabby).

Installation

Recommended: pre-release channel

The current development line ships under the next dist-tag while v1.0.0 soaks. Get the latest features:

npm install -g @axon-trading/cli@next

Stable channel (post-v1.0.0)

npm install -g @axon-trading/cli

Run without installing

npx @axon-trading/cli@next

Verify the binary

axon --version    # 1.11.0 (or latest on @next)
axon --help       # full command list

Per-OS notes

  • macOS + Linux: nothing special. The binary lands in your npm prefix bin directory (/usr/local/bin/, ~/.npm-global/bin/, etc).
  • Windows: PowerShell or CMD both work. Data dir resolves to %USERPROFILE%\.axon\. Run from PowerShell for best UX.

Quick Start

# 1. Boot the daemon. First run launches the browser-based wizard.
axon

# 2. The wizard walks you through:
#    - Setting a passphrase (encrypts your local keystore)
#    - Generate / import / connect a wallet
#    - Funding instructions (testnet faucet OR mainnet bridge)
#    - Placing your first practice trade
# Dashboard: http://127.0.0.1:47890

# 3. Connect an AI agent:
axon install claude-desktop
# (or whichever runtime you use; see "Works With" above)

# 4. Restart your runtime — Axon's tools are now available.
#    Try: "Show me my balance and any open positions on Hyperliquid"

Usage Examples

First-run wizard

axon
# Browser opens at http://127.0.0.1:47890
# → Step 1: Pick a passphrase (≥ 12 chars). Encrypts the local keystore.
#           Used for rare master-EOA-signed actions (deposit, withdraw, mode-switch).
# → Step 2: Choose a wallet path:
#     - Generate: daemon creates a fresh wallet. 24-word mnemonic shown ONCE.
#     - Import (mnemonic): bring an existing BIP-39 wallet in.
#     - Import (private key): paste a raw 0x-prefixed key.
#     - Connect: WalletConnect — master EOA stays in MetaMask / Rabby.
# → Step 3: Fund the wallet (testnet faucet OR Jumper bridge for mainnet)
# → Step 4: Place a practice trade

Switching modes

# CLI flags
axon --live              # Arbitrum One + HL mainnet (real money)
axon --demo              # Synthetic everything (no chain calls)
# (no flag = demo)

# Or via dashboard: Settings → Mode → enter passphrase
# Daemon auto-respawns on the new latch; dashboard reconnects.

Connecting AI agents

axon install claude-desktop
axon install claude-code
axon install cursor
axon install codex
axon install cline
axon install zed
axon install windsurf

axon install --list      # show all + detection status
axon install --verify    # re-validate every installed runtime's config

After install, restart your runtime. Try:

"Show me my Axon balance and any open positions"

Multi-wallet management

# Via the dashboard's Wallets tab, OR via your agent:
"Generate a new wallet labeled testnet-sandbox"
"List my wallets"
"Set wallet wal_a1b2... as active"
"Bind the cursor agent to my testnet-sandbox wallet"

A misbehaving Codex script can't drain your production wallet if it's bound to a different one.

Funding flows

Testnet: dashboard wizard provides direct links to:

  • HL testnet faucet (https://app.hyperliquid-testnet.xyz/drip)
  • Arbitrum Sepolia faucet (for ETH gas)

Mainnet: dashboard surfaces the LI.FI / Jumper hosted bridge (https://jumper.exchange) pre-filled with your owner EOA + Arbitrum USDC as destination.

Once USDC is on your owner EOA on Arbitrum:

axon hl deposit --amount 20            # CLI prompts for passphrase
# OR via agent:
"Deposit $20 to my Hyperliquid account"
# → Agent calls hl_deposit({ amount: 20 })
# → Returns confirmationUrl in the chat
# → User opens URL, enters passphrase in browser, submits
# → Daemon submits the EIP-2612 permit + Bridge2 deposit
# → ~30s later, USDC credits on HL clearinghouse

Diagnostic + recovery

axon doctor              # Full health check
axon doctor --live       # Same, treat live-mode misconfigs as errors

axon hl check            # HL preflight: builder approved? agent key healthy?
axon hl revoke-agent     # Forget cached HL agent key (forces re-approval)

axon audit verify        # Recompute audit log hash chain; report tampering
axon audit anchors       # List on-chain settlement anchors
axon audit reset         # Archive + reinitialize a corrupted audit log

axon address             # Print owner EOA + trading address
axon token               # Print env-var lines for agents (AXON_URL, AXON_TOKEN)
axon status              # One-line service status + wallet address

Verifying authenticity

Published @axon-trading/* packages on npm are released exclusively by Strykr Labs through an automation token under 2FA. Cross-check what you installed:

# Verify the publisher
npm view @axon-trading/cli maintainers

# Verify the tarball SHA-256 (Strykr publishes canonical digests
# alongside each GitHub Release)
npm view @axon-trading/cli dist.shasum

The daemon also prints an attestation on every startup:

[axon] published build=abc12345 builder=0xa1b2…cD fee=30 tenths-bps

For source-built binaries the line reads dev build=… builder=ZERO …. If you see dev build from a binary you installed via npm, stop trading immediately — that means tampering.

CLI Reference

Global flags

| Flag | Description | |---|---| | --live | Arbitrum One + HL mainnet (real money) | | --demo | Synthetic chain + venue (default) | | --no-tui | Disable interactive TUI; print plain status line | | --host <h> | Bind interface (default 127.0.0.1). Non-localhost requires --i-understand-network-exposure. | | --invite <code> | Apply invite/referrer code on first wallet bootstrap |

Commands

| Command | Purpose | |---|---| | axon | Boot the daemon (default: demo mode) | | axon init [--guided] | Create a new encrypted keystore | | axon init-agent [dir] | Scaffold a runnable starter agent (zero config) | | axon import [--mnemonic\|--private-key\|--from-backup] | Import wallet | | axon start [--live] | Unlock keystore + start daemon (foreground, no TUI) | | axon dashboard | Open the local dashboard in your browser | | axon status | Service status + wallet address (one-line) | | axon address | Print owner EOA + trading address | | axon token | Print env-var lines for agents | | axon kill-switch on\|off | Arm or disarm the kill switch | | axon doctor [--live] | Full health check | | axon mcp | MCP stdio server (auto-spawned by agent runtimes) | | axon install <runtime> | Wire MCP config for a specific runtime | | axon install --list | All runtimes + detection state | | axon install --verify | Re-validate every installed runtime's config | | axon invite [--raw] | Print your shareable invite/referrer code | | axon approve-builder | One-time HL builder-fee approval | | axon hl check | HL preflight | | axon hl revoke-agent | Delete cached HL agent key | | axon hl deposit --amount <usd> | Deposit USDC into HL | | axon hl spot-to-perp --amount <usd> [--reverse] | Move USDC HL spot ↔ perp | | axon audit verify | Verify audit log hash chain | | axon audit anchors | List recent on-chain settlement anchors | | axon audit reset --confirm | Archive + reinitialize audit log |

Run axon <command> --help for command-specific options.

Configuration

Axon is configured by environment variables (highest priority) → config overlay (~/.axon/config.json, written by the dashboard's Settings page) → chain-id-derived defaults.

Critical environment variables

| Variable | Default | Purpose | |---|---|---| | AXON_DATA_DIR | ~/.axon/ | Override the default data directory | | AXON_CHAIN_ID | 421614 (Arb Sepolia) | 42161 for mainnet | | AXON_RPC_URL | per-chain default | Arbitrum RPC endpoint | | AXON_USDC | per-chain default | USDC contract address | | AXON_HL_URL | testnet/mainnet auto | Hyperliquid API base URL | | AXON_PORT | 47890 | Daemon HTTP port (stable across restarts) | | AXON_HOST | 127.0.0.1 | Bind interface | | AXON_HL_BUILDER_ADDRESS | (CI-inlined) | Platform builder EOA | | AXON_HL_BUILDER_FEE_TENTHS_BPS | 30 (3 bps) | Per-order builder fee | | AXON_ALLOW_BUILDER_OVERRIDE | unset | 1 to override CI-inlined values | | AXON_ALLOW_NETWORK_EXPOSURE | unset | 1 to allow non-localhost bind |

For the full list, see docs/deployment.md.

Data directory layout

~/.axon/
├── wallets/
│   └── wal_<32hex>/              # one dir per wallet
│       ├── manifest.json         # { id, label, address, kind, ... }
│       ├── keystore.json         # encrypted PK (local-* kinds)
│       ├── wc-session.json       # WalletConnect topic (connected kind)
│       └── hl-agent.json         # cached HL agent key
├── active-wallet.json            # { activeWalletId }
├── agent-bindings.json           # { clientId → walletId, defaultWalletId }
├── agent-history.json            # all clientIds the daemon has seen
├── audit.db                      # SQLite, hash-chained
├── config.json                   # User-editable overlay
├── policy.json.enc               # Encrypted policy (per-agent caps)
├── session.token                 # Bearer token (rotates per boot)
├── agent.env                     # AXON_URL + AXON_TOKEN (auto-discovery)
└── keystore.json → SYMLINK       # Legacy compat: → wallets/<active>/keystore.json

Architecture

┌──────────────────────┐    stdio (MCP)     ┌──────────────────┐
│  Agent runtime       │ ─────────────────► │  axon-mcp        │
│  (Claude/Cursor/...) │                    │  (subprocess)    │
└──────────────────────┘                    └────────┬─────────┘
                                                     │ HTTP localhost
                                                     │ Bearer token
                                                     ▼
┌──────────────────────────────────────────────────────────────┐
│  Axon daemon (port 47890)                                    │
│  ┌────────────────────────────────────────────────────────┐  │
│  │  TRUST BOUNDARY                                         │  │
│  │  • Encrypted keystore (PBKDF2 + AES-GCM)                │  │
│  │  • Policy engine (caps, kill switch)                    │  │
│  │  • Hash-chained audit log (SQLite + AuditAnchor.sol)    │  │
│  │  • Master EOA signer (or WalletConnect relay)           │  │
│  │  • HL agent key (rotates every 7d)                      │  │
│  └────────────────────────────────────────────────────────┘  │
└─────────┬──────────────────────────────────┬─────────────────┘
          │ HTTPS                            │ HTTPS + EIP-712
          ▼                                  ▼
   ┌───────────────┐                 ┌────────────────┐
   │  Arbitrum     │                 │  Hyperliquid   │
   │  (RPC + USDC) │                 │  (API + L1)    │
   └───────────────┘                 └────────────────┘

Key principle: agents are untrusted clients. Even a fully-compromised agent runtime can only do what your policy allows — it can't disarm the kill switch, withdraw funds, or modify the policy itself.

Full architectural deep-dive: docs/architecture.md.

Troubleshooting

"Failed to fetch" / UNAUTHORIZED on every call

The daemon restarted and the bearer token rotated. Re-read ~/.axon/agent.env. The SDK does this automatically on retry; if your agent runtime caches the URL, restart the runtime.

"KEYSTORE_LOCKED" on every API call

Open the dashboard and enter your passphrase. Agents cannot unlock the keystore — by design.

Live trade rejected with HL_AGENT_NOT_APPROVED

axon hl revoke-agent
# Retry trade. Daemon generates a fresh agent key + signs approveAgent
# via your master EOA (passphrase prompt in the browser).

HL_BUILDER_FEE_NOT_APPROVED

One-time setup before any live HL trade:

axon approve-builder
# OR via agent: "Approve the builder fee on Hyperliquid"

HL_INSUFFICIENT_MARGIN

Either: reduce trade size, lower leverage, or axon hl deposit --amount <more>.

Lost passphrase

Restore from the 24-word mnemonic via axon import --mnemonic "<words>", then re-set a new passphrase. If you've lost both passphrase AND mnemonic, your funds are unrecoverable — there is no hosted backup.

Daemon won't start on Windows

# Check + free port 47890
netstat -ano | findstr :47890
taskkill /PID <pid> /F
# OR use a different port:
$env:AXON_PORT = 50000; axon

INSUFFICIENT_ETH on first deposit

Your owner EOA needs a small ETH balance on Arbitrum (typically <$2 worth) for gas. Bridge in via Jumper or fund from any Arbitrum wallet.

Dashboard won't load — page is blank

Hard-refresh (Cmd+Shift+R / Ctrl+Shift+R). If still blank, check daemon stdout. Common cause: ~/.axon/policy.json.enc corrupted — delete it and re-onboard.

For exhaustive error-code → recovery mapping: docs/REJECTION_CODES.md.

Security model

  • ✅ Master-EOA private key encrypted at rest (PBKDF2 + AES-GCM). Decrypted in memory only when needed; zeroed after use.
  • ✅ Connected wallets keep the master in your existing wallet (MetaMask / Rabby) via WalletConnect — Axon never sees the key.
  • ✅ Bearer-token auth on the local HTTP API, rotated every daemon boot. Token in ~/.axon/agent.env with 0o600 permissions.
  • ✅ Default bind 127.0.0.1 — non-localhost requires AXON_ALLOW_NETWORK_EXPOSURE=1 AND a non-default --host flag.
  • ✅ HL agent key has trade-only permissions (cannot withdraw). Rotates every 7 days.
  • ✅ Hash-chained audit log: every row's hash includes the previous row's hash. Tamper-evident.
  • ⚠️ Anyone with read access to ~/.axon/ AND your passphrase can sign anything. Don't use Axon in shared environments.
  • ⚠️ Connected (WC) wallet flows for deposit / withdraw / spot↔perp from MCP/CLI return WC_RELAY_UNAVAILABLE until v1.1. Use the dashboard's wagmi browser-relay meanwhile.

Full threat model: docs/security-model.md.

FAQ

How is this different from a typical "AI trading bot"?

Most AI trading bots either hold the user's keys on a server (custodial — bot owner can rug), OR require approving every trade in your wallet (defeats autonomous agents). Axon's HL agent-key model gets you both: keys never leave your machine and the LLM can place orders without prompting you. The agent key has trade-only permissions; the worst a compromised agent can do is execute a bad trade — not drain the wallet.

Can the agent withdraw my money?

No. The HL agent key is approveAgent-scoped: HL's L1 enforces it can ONLY place / cancel orders. Withdrawals require the master EOA, which is encrypted at rest with your passphrase. Your passphrase never crosses the LLM transcript — passphrase-required actions use a browser confirmation form.

What happens if I close the dashboard tab?

The daemon keeps running. Tools keep working. The dashboard is a view onto the service, not a gate.

Can I run multiple daemons on the same machine?

Yes — set AXON_DATA_DIR=~/.axon-second and AXON_PORT=50000 on the second one.

Does this work with hardware wallets?

Indirectly — connect MetaMask Mobile (or Rabby Mobile) to a Ledger / Trezor in your existing wallet, then use Axon's "Connect" wallet path via WalletConnect.

Does the daemon phone home?

No. Default config has zero outbound calls except: (a) Arbitrum RPC for chain reads, (b) HL API for venue calls, (c) the LLM agent's outbound HTTP if you connect one. Optional backendApiBaseUrl config for hosted referral attribution + trade reporting — disabled by default.

What's the platform fee?

3 bps (0.03%) per HL order, routed via HL's builder-fee program to the platform's builder EOA. The fee is inlined into the published binary at build time as part of the canonical Strykr build.

How do I run multiple agents with different policies?

Per-agent binding: each MCP runtime gets a different wallet, and each wallet can have a separate policy file. Combined with per-agent notional caps, you get fine-grained "Codex can risk $50/day; Claude Desktop can risk $500/day" semantics.

Why isn't there a hosted version?

Because the whole point is non-custodial. A hosted Axon would mean Strykr Labs holds your keys — same trust model as Coinbase, just with a worse UX.

How do I upgrade?

npm update -g @axon-trading/cli
# OR for the next dist-tag:
npm install -g @axon-trading/cli@next

The daemon auto-migrates older data dirs. Major-version bumps include explicit migration notes in CHANGELOG.md.

Integrations

MCP runtimes (auto-install)

axon install claude-desktop | claude-code | cursor | codex | cline | zed | windsurf

SDK (programmatic access)

npm install @axon-trading/sdk
import { createClientFromEnv, openPerp } from "@axon-trading/sdk";

const client = await createClientFromEnv();
const result = await client.placeIntent(
  openPerp({ venue: "hyperliquid", symbol: "BTC", side: "long", sizeUsd: 100, leverage: 5 }),
);

Full SDK docs: @axon-trading/sdk on npm.

Direct MCP

Any MCP-compatible runtime — even ones we don't auto-install:

{
  "mcpServers": {
    "axon": {
      "command": "axon",
      "args": ["mcp"]
    }
  }
}

LangChain / LangGraph / AutoGPT

Use the SDK as the underlying tool. Expose individual SDK methods as LangChain Tool instances; the SDK's typed return shapes (success | RejectionResult) translate naturally to LangChain's pattern.

Webhooks / automation platforms

Hit the daemon's HTTP API directly. Endpoints + payloads in docs/architecture.md. Use axon token to get the bearer token + URL.

License

Proprietary. © 2026 Strykr Labs. All rights reserved.


Source: https://github.com/Strykr-Labs/Axon-Agent-Trading Docs: https://github.com/Strykr-Labs/Axon-Agent-Trading/tree/main/docs Support: open a GitHub issue — security disclosures: [email protected]