@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
Maintainers
Keywords
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_IDenv 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_endwithstatus: "errored"emits astrategy_erroredalert (severitywarn) 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_lowalerts (transition-deduped). HF alerts include arepaysuggestedActionready for the agent to dispatch. - 1.11.0 — Agent alerts foundation (the wake-up surface). New
AlertStore+GET /v1/alerts/pending+POST /v1/alerts/ackendpoints; 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=1for the dogfood window. - 1.8.0 — SDK type generalization. Intent union widened to 11 kinds; new
Holding/LendingPosition/StakedPositionshapes;Balance.venueMarginsmap. Pure refactor — no new venues — unblocks v1.9+. - 1.7.0 — Venue adapter abstraction. Formal
VenueAdapterinterface + registry; adding a venue is one adapter file + oneregisterVenue()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
- Works With
- Perfect For
- Features
- Prerequisites
- Installation
- Quick Start
- Usage Examples
- Verifying authenticity
- CLI Reference
- Configuration
- Architecture
- Troubleshooting
- Security model
- FAQ
- Integrations
- License + Trademarks
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 viaAuditAnchor.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 modes —
demo(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@nextStable channel (post-v1.0.0)
npm install -g @axon-trading/cliRun without installing
npx @axon-trading/cli@nextVerify the binary
axon --version # 1.11.0 (or latest on @next)
axon --help # full command listPer-OS notes
- macOS + Linux: nothing special. The binary lands in your
npm prefixbin 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 tradeSwitching 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 configAfter 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 clearinghouseDiagnostic + 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 addressVerifying 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.shasumThe daemon also prints an attestation on every startup:
[axon] published build=abc12345 builder=0xa1b2…cD fee=30 tenths-bpsFor 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.jsonArchitecture
┌──────────────────────┐ 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; axonINSUFFICIENT_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.envwith0o600permissions. - ✅ Default bind
127.0.0.1— non-localhost requiresAXON_ALLOW_NETWORK_EXPOSURE=1AND a non-default--hostflag. - ✅ 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_UNAVAILABLEuntil 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@nextThe 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 | windsurfSDK (programmatic access)
npm install @axon-trading/sdkimport { 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.
- License: see
LICENSEfor the full proprietary notice - Trademarks: Axon and Strykr Labs marks are reserved. See
TRADEMARKS.md - Licensing inquiries:
[email protected] - Security disclosures:
[email protected](seeSECURITY.md)
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]
