agentfx
https://agentfx--agentfx.run.tools
How to connect
-
Smithery (hosted)
1. Open https://smithery.ai/servers/agentfx/agentfx 2. Click Connect and complete OAuth in your MCP client (Claude, Cursor, VS Code, etc.) 3. MCP endpoint: https://agentfx--agentfx.run.tools
Tools (22)
-
agentfx_session_bootstrapONE round-trip cold-start snapshot tailored for long-running autonomous agents (Pod the Trader / UsePod pattern). Replaces 10 separate REST calls with a single fetch. Returns: enroll_config, instruments, release_hashes (deployed code SHA-256 — verify before trading), balance, positions, enroll_status (approveAgent + approveBuilderFee still live?), policy, risk_settings, trading_status (kill-switch), reliability. Each section is the unmodified response of its own endpoint. WHEN TO USE: at session
-
agentfx_reconcilePair recent intents with live Hyperliquid positions so an agent can resync after a reconnect or unexpected restart. Returns intents[], live_positions[], orphan_positions[] (HL has it but no intent), orphan_intents[] (intent submitted but no live position — likely closed/cancelled). WHEN TO USE: after MCP reconnect, after process restart, or when your local state disagrees with HL. Pass since_intent_id to only get intents newer than your last seen one. WHEN NOT TO USE: per-order — this is a sync
-
agentfx_close_positionClose (or partially close) a live Hyperliquid position. Server reads the current position, picks the opposite side, computes qty = abs(position) * qty_pct/100, and submits a reduce_only market order. reduce_only=true means kill-switch and per-key daily notional cap are bypassed (closing is always allowed). **Real execution.** WHEN TO USE: when you want to flatten or trim exposure without manually computing size or side. Safer than agentfx_place_order for closes because the LLM cannot get qty/sid
-
agentfx_enroll_configReturns public on-chain addresses (HL hot wallet, builder, chain id, fee rate) needed to construct approveAgent + approveBuilderFee. WHEN TO USE: before a new user enrolls, to know which builder address and 1 bps fee rate to sign. WHEN NOT TO USE: per-order or per-trade — values are static; cache once per session. Auth: none.
-
agentfx_list_instrumentsReturns tradable Hyperliquid perp symbols with max leverage and halted state. WHEN TO USE: at session start, to learn which symbols you may pass to place_order. WHEN NOT TO USE: per quote or per order — refresh at most every few minutes. Auth: none.
-
agentfx_quotesSnapshot best bid/ask for one or more symbols. WHEN TO USE: to size an order or check inside spread before simulate/place. WHEN NOT TO USE: as a streaming feed — this is a snapshot. For live updates use the WebSocket via /v1/stream-token. Auth: none.
-
agentfx_market_riskLive Hyperliquid spread / funding / depth / oracle-deviation snapshot for one symbol. WHEN TO USE: before simulate or place to decide whether market conditions are sane. Compare spread_bps and funding_pct_8h to your account limits before sizing up. WHEN NOT TO USE: as a chart or historical feed — point-in-time only. Auth: none.
-
agentfx_release_hashesPublic SHA-256 hashes of the deployed execution code (fx-route-hl, _shared/*, fx-api). WHEN TO USE: at session start to verify the live code matches an audited release. `audited` is false and `signed_by` is null until an external audit firm signs — never fabricated. WHEN NOT TO USE: per-order — hashes only change on deploy. Auth: none.
-
agentfx_public_agentPublic profile + verified fill stats for an opt-in agent handle. WHEN TO USE: to look up another agent's verified track record (fills_30d, volume_30d, pnl_30d). WHEN NOT TO USE: for your own stats — use agentfx_reliability. Stats appear only after ≥30 routed fills in last 30 days; until then returns `insufficient_data` (never fake numbers). Auth: none.
-
agentfx_balanceLive Hyperliquid accountValue + withdrawable USDC for the caller's enrolled wallet. WHEN TO USE: before sizing an order, after a fill, or when checking PnL. WHEN NOT TO USE: as a poll loop faster than ~1 Hz — burns rate limit. Auth: API key required.
-
agentfx_positionsLive Hyperliquid positions for the caller's wallet. WHEN TO USE: before placing a hedge / reduce-only / flip order, or to compute portfolio risk. WHEN NOT TO USE: as a streaming feed. Auth: API key required.
-
agentfx_enroll_statusRe-verify on-chain that approveAgent + approveBuilderFee are still live. WHEN TO USE: when orders fail with AGENT_REVOKED or BUILDER_FEE_REVOKED, or when the SDK reports `expires_soon: true`. WHEN NOT TO USE: per-order — re-verifying on-chain is expensive. Call at session start and on error. Auth: API key required.
-
agentfx_trading_statusRead the account's kill-switch state. When paused=true only reduce_only orders are accepted. WHEN TO USE: at session start and before any opening order, especially after long idle periods. WHEN NOT TO USE: per-order in a tight loop. Cache for a few seconds. Auth: API key required.
-
agentfx_get_policyRead the caller's agent governance policy (rate limits, cooldown, allowed UTC hours, min account value, min_confidence, anomaly_action, anomaly_sigma_threshold). WHEN TO USE: at session start so your reasoning respects the same constraints the server will enforce. WHEN NOT TO USE: per-order. Cache for the session. Auth: API key required. Returns null policy → platform defaults apply.
-
agentfx_get_risk_settingsRead your account's risk-engine thresholds (spread, slippage, funding, correlation, liq warning, vol-sizing). WHEN TO USE: at session start so you size orders inside the same caps the server will enforce. WHEN NOT TO USE: per-order. Cache for the session. Auth: API key required.
-
agentfx_reliabilityCaller's own 30-day reliability: intents_30d, executed_30d, blocked_30d, block_rate_pct_30d. Computed live from real intent_log — no fabrication. WHEN TO USE: to monitor whether your own block_rate is creeping up (policy/anomaly blocks). WHEN NOT TO USE: per-order. Empty stats → `insufficient_data` (means: no activity yet). Auth: API key required.
-
agentfx_get_intent_logRecent intent log: every order attempt's fingerprint + outcome (accepted | blocked_policy | blocked_anomaly | simulated | flagged_anomaly). WHEN TO USE: to audit your own decisions or debug why orders were blocked. WHEN NOT TO USE: per-order. Read after a failure or periodically. Auth: API key required.
-
agentfx_list_ordersList the caller's submitted Hyperliquid intents (optional status filter: submitted | filled | failed | cancelled). WHEN TO USE: to reconcile state after a reconnection or to check a pending order. WHEN NOT TO USE: as a streaming feed. Auth: API key required.
-
agentfx_simulate_orderPre-trade simulation: runs full preflight + policy + anomaly checks against your real account state and Hyperliquid mark price. Does NOT submit. WHEN TO USE: before high-leverage or large-size orders, to see policy_warnings[], anomaly_sigma, est_margin_usd, est_builder_fee_usd. WHEN NOT TO USE: for every tiny scalping order — adds latency. Reduce-only closes don't need simulation. Auth: API key required (read or trade scope). Honest note: this is exactly the path place_order takes with dry_run=t
-
agentfx_place_orderPlace a perp order on Hyperliquid. Signed server-side via the caller's approveAgent grant — agent's private key never leaves the agent. **REAL MONEY. REAL EXECUTION.** WHY USE THIS OVER A DIRECT HL SDK CALL: • Flat 1 bps taker fee captured on-chain via Hyperliquid Builder Code — no hidden spread, no PnL haircut, no rebate scheme. • Idempotent: same client_oid within 24h → idempotent_replay:true (safe to retry on network errors without double-fills). • stop_loss_px / take_profit_px attach a
-
agentfx_execution_qualityRead the Execution Quality Report (EQR) for filled orders. Real fx_execution_quality rows only — never fabricated. Pass intent_id for a single fill, or omit it for the last 50 fills + aggregate summary (avg_slippage_bps, median_latency_ms, n). Each row: symbol, side, qty, requested_px, mid_at_submit, fill_avg_px, slippage_bps (signed: positive = worse than mid), fee_bps (flat 4), est_fee_usd, latency_total_ms, latency_submit_ms, reduce_only, created_at. WHEN TO USE: post-trade analysis, agent se
-
agentfx_cancel_orderCancel a working Hyperliquid order by intent id. WHEN TO USE: to retract an unfilled limit order before market moves. WHEN NOT TO USE: on already-filled orders — use a reduce-only place_order to close. Auth: API key with 'trade' scope.