Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

FortFi Treasury MCP

REMOTE · FORTFIAPP.COM

Policy-gated MCP treasury for AI agents — x402 subscribe, 50+ tools, multi-chain.

Available components

+27 this week 62 Trust /100

Last scanned (5 hours ago)

Scores higher than 44% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 139 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 15209 tokens (~109/item across 139 items; 139 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
  • Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 78% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_recipient" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 139 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Stability: unverified → 0.03 ▲ functional
    • New tool “get_hyperliquid_order_book” functional
    • New tool “get_hyperliquid_predicted_funding” functional
    • “update_strategy” added an optional parameter “autoStops” cosmetic
  • 4 Nov 26 +26
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 137 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Tool “approve_recipient” rewrote its description, which is the text the model reads security
    • Tool “get_policy_limits” rewrote its description, which is the text the model reads security
    • Tool “get_yield_market_detail” rewrote its description, which is the text the model reads security
    • Tool “list_audit_log” rewrote its description, which is the text the model reads security
    • Tool “list_wallets” rewrote its description, which is the text the model reads security
    • Tool “list_yield_positions” rewrote its description, which is the text the model reads security
    • Tool “propose_bridge” rewrote its description, which is the text the model reads security
    • Tool “propose_token_approve” rewrote its description, which is the text the model reads security
    • Tool “propose_transfer” rewrote its description, which is the text the model reads security
    • Tool “rank_yield_markets” rewrote its description, which is the text the model reads security
    • Tool “update_wallet_metadata” rewrote its description, which is the text the model reads security
    • MCP protocol: unverified → fail ▼ functional
    • Schema quality: pass → fail ▼ functional
    • Endpoint reachability: not serving MCP → reachable ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Destructive annotations: 0 functional
    • New tool “cancel_hyperliquid_orders” functional
    • New tool “create_checkout_session” functional
    • New tool “create_customer” functional
    • New tool “create_merchant_webhook” functional
    • New tool “create_payment_product” functional
    • New tool “get_copy_trade_wallet” functional
    • New tool “get_hyperliquid_balances” functional
    • New tool “get_hyperliquid_cross_section” functional
    • New tool “get_hyperliquid_history” functional
    • New tool “get_hyperliquid_market” functional
    • New tool “get_hyperliquid_outcome_market” functional
    • New tool “get_hyperliquid_research_data_stats” functional
    • New tool “get_hyperliquid_trading_desk” functional
    • New tool “get_hyperliquid_user_fills” functional
    • New tool “get_payment_product” functional
    • New tool “get_polymarket_market” functional
    • New tool “get_strategy” functional
    • New tool “get_treasury_context” functional
    • New tool “get_usage_balance” functional
    • New tool “get_wallet_loss_cap” functional
    • New tool “get_wallet_scoreboard” functional
    • New tool “list_activity_report” functional
    • New tool “list_copy_trade_leaders” functional
    • New tool “list_hyperliquid_markets” functional
    • New tool “list_hyperliquid_open_orders” functional
    • New tool “list_hyperliquid_outcome_markets” functional
    • New tool “list_hyperliquid_positions” functional
    • New tool “list_hyperliquid_symbol_master” functional
    • New tool “list_merchant_webhook_deliveries” functional
    • New tool “list_merchant_webhooks” functional
    • New tool “list_payment_products” functional
    • New tool “list_payment_purchases” functional
    • New tool “list_payment_sales” functional
    • New tool “list_polymarket_markets” functional
    • New tool “list_polymarket_positions” functional
    • New tool “list_strategies” functional
    • New tool “list_strategy_presets” functional
    • New tool “pause_strategy” functional
    • New tool “pay_payment_request_x402” functional
    • New tool “propose_hyperliquid_deposit” functional
    • New tool “propose_hyperliquid_outcome_order” functional
    • New tool “propose_hyperliquid_perp_close” functional
    • New tool “propose_hyperliquid_perp_modify” functional
    • New tool “propose_hyperliquid_perp_open” functional
    • New tool “propose_hyperliquid_send_asset” functional
    • New tool “propose_hyperliquid_spot_to_perp” functional
    • New tool “propose_hyperliquid_withdraw” functional
    • New tool “propose_polymarket_buy” functional
    • New tool “propose_polymarket_redeem” functional
    • New tool “propose_polymarket_sell” functional
    • New tool “rank_hyperliquid_markets” functional
    • New tool “rank_polymarket_markets” functional
    • New tool “rebalance_strategy_now” functional
    • New tool “replay_merchant_webhook_delivery” functional
    • New tool “resume_strategy” functional
    • New tool “run_hyperliquid_research_backtest” functional
    • New tool “run_hyperliquid_research_backtest_spec” functional
    • New tool “screen_hyperliquid_markets” functional
    • New tool “search_polymarket_markets” functional
    • New tool “send_merchant_webhook_test” functional
    • New tool “set_wallet_loss_cap” functional
    • New tool “start_copy_trade” functional
    • New tool “start_strategy” functional
    • New tool “stop_strategy” functional
    • New tool “update_strategy” functional
    • “add_recipient” added an optional parameter “fromWalletId” cosmetic
    • “list_audit_log” added an optional parameter “cursor” cosmetic
    • “list_audit_log” added an optional parameter “view” cosmetic
    • “list_audit_log” added an optional parameter “walletId” cosmetic
    • “list_wallets” added an optional parameter “cursor” cosmetic
    • “list_wallets” added an optional parameter “limit” cosmetic
    • “propose_transfer” added an optional parameter “networkChainId” cosmetic
    • “propose_transfer” added an optional parameter “paymentRequestPid” cosmetic
    • “propose_transfer” reworded the description of “amountUsdc” cosmetic
    • “add_recipient” reworded the description of “chainId” cosmetic
    • “propose_create_account” reworded the description of “chainId” cosmetic
    • “propose_transfer” reworded the description of “recipientId” cosmetic
    • “propose_transfer” made “amountUsdc” optional cosmetic
    • “propose_transfer” made “recipientId” optional cosmetic
  • 3 Nov 26 +1
    • DNSSEC: fail → pass ▲ security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 7 Aug 26 0
    • Endpoint reachability: reachable → not serving MCP ▼ security
    • Stability: 0.30 → unverified ▼ security
    • Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://fortfiapp.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=fortfiapp.com CN=YE1,O=Let's Encrypt,C=US 23 Sept 2026 22 Dec 2026 ECDSA 256 ECDSA-SHA384 5b47055fa1f80935b7b139be7982227214f
SANs: *.fortfiapp.com, fortfiapp.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of fortfiapp.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
fortfiapp.com. present 2371 13 Verified
fortfiapp.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=*, microphone=*, accelerometer=*, gyroscope=*, payment=*, geolocation=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://fortfiapp.com/api/mcp Verified 200
http (plaintext) http://fortfiapp.com/api/mcp HTTPS enforced 301 https://fortfiapp.com/api/mcp
MCP tools · 139 exposed · ~15,209 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
accept_cosigner_invite ~54

Accept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account.

NameTypeReqDescription
inviteIdstringyesInvite id from list_incoming_cosigner_invites

No output schema declared.

No examples provided.

add_recipient ~195

Add a payout address to the allowlist. Human developer key (frtfi_hu_* + DA): added with 24h cooldown (no Assist passkey). Agent key (frtfi_ag_*): GOVERN — funding-wallet signature required; then approved immediately.

NameTypeReqDescription
addressstringyesWallet address (0x… or Solana base58)
chainIdstringyesFortFi chain id (e.g. hyperliquid-mainnet). Omit when fromWalletId is set — network is inferred from that wallet.
challengeIdstring–Agent GOVERN: challengeId from the first call
fromWalletIdstring–Optional source wallet id (list_wallets). Sets allowlist network to that wallet's chain — use for HL sends without passing chainId.
nicknamestring–Optional display name
walletSignaturestring–Agent GOVERN: funding-wallet signature

No output schema declared.

No examples provided.

approve_cosigner_action ~39

Approve a pending action as co-signer. Use with list_pending_cosigner_approvals.

NameTypeReqDescription
pendingApprovalIdstringyes–

No output schema declared.

No examples provided.

approve_recipient ~120

Approve a recipient still in cooldown (early release). Active cosigners may approve directly. Human passkey owners: use the FortFi app (passkey) or the approval email link; owner bearer keys cannot self-clear. Agent-owned accounts: owner self-approval is GOVERN (funding-wallet signature).

NameTypeReqDescription
challengeIdstring–Governance challengeId from the first call
recipientIdstringyesRecipient id from list_recipients or add_recipient
walletSignaturestring–Funding-wallet signature over the challenge message

No output schema declared.

No examples provided.

cancel_governance_change ~75

Veto/cancel a pending governance challenge before it is signed and applied. Cancelling TIGHTENS security, so it needs only the agent key (no signature). Also cancels legacy scheduled rows from before immediate-apply parity.

NameTypeReqDescription
challengeIdstringyesThe governance request id from list_governance_requests

No output schema declared.

No examples provided.

cancel_hyperliquid_orders ~131

Propose cancelling resting Hyperliquid orders (limit orders and SL/TP triggers) on one market. Pass oids from list_hyperliquid_open_orders, or omit oids to cancel every resting order on that symbol. Moves no money, but cancelling a stop loss removes protection, so it follows the normal confirm_proposal flow.

NameTypeReqDescription
oidsarray–Resting order ids on this symbol (max 50). Omit to cancel all of them.
symbolstringyese.g. BTC, xyz:TSLA
walletIdstringyes–

No output schema declared.

No examples provided.

cancel_payment_request ~28

Cancel an open payment request with no verified settlement.

NameTypeReqDescription
idOrPidstringyes–

No output schema declared.

No examples provided.

cancel_pending_action ~47

Cancel a pending approval that you (the account owner) initiated.

NameTypeReqDescription
pendingApprovalIdstringyesPending approval id from list_pending_cosigner_approvals or list_audit_log

No output schema declared.

No examples provided.

check_trade_allowance ~129

Check ERC-20 allowance for an upcoming CoW swap (cow_swap) or Fusion bridge (fusion_bridge). Call before propose_swap / propose_bridge; if insufficient, use propose_token_approve then confirm.

NameTypeReqDescription
flowstringyescow_swap = CoW VaultRelayer; fusion_bridge = 1inch Limit Order
fromWalletIdstringyesSource EVM wallet id
requiredAmountSmalleststringyesRequired allowance in token smallest units (e.g. USDC 6 decimals)
tokenAddressstringyesSell token contract (0x…)

No output schema declared.

No examples provided.

confirm_proposal ~98

Confirm a pending proposal returned by a propose_* tool. Reuses the same policy, risk, allowlist, vault-grant, delegated-authority, and cosign checks as POST /api/mcp/confirm. Returns executed, pending-approval, or passkey-required status.

NameTypeReqDescription
confirmTokenstring–Optional proposal-bound confirmation token when one was returned
proposalIdstringyesProposal UUID returned by a propose_* tool

No output schema declared.

No examples provided.

create_checkout_session ~239

Create a per-customer checkout session: resolves (or provisions) the customer's own vault from your externalCustomerId, mints a payment request that settles into it, and returns checkoutUrl + x402Url. The paid webhook then carries customer identity. Price from productSlug or ad-hoc amountUsd.

NameTypeReqDescription
amountSmallestUnitstring–Ad-hoc USDC amount in smallest units
amountUsdnumber–Ad-hoc price in USD (alternative to productSlug)
chainIdstring–Chain for ad-hoc sessions (default base-mainnet)
customerobjectyesYour customer identity — vault is resolved per (namespace, externalId)
descriptionstring–Optional checkout note
expiresInMinutesnumber–Session TTL (default 60, product default wins if set)
idempotencyKeystring–Safe retries — same key returns the same session
metadataobject–Optional metadata object
productSlugstring–Price from an existing payment product (SKU)
referencestring–Your order/session id, echoed on every webhook

No output schema declared.

No examples provided.

create_customer ~136

Create or sync one customer vault synchronously (treasury + wallets:write). Idempotent on externalCustomerId + namespace + chain. Returns wallet address immediately; Turnkey wallet creation may take a few seconds on first call.

NameTypeReqDescription
clientRequestIdstringyesCaller idempotency id (unique per provisioning attempt)
credentialobject–Optional vault-scoped credential to issue for this wallet
externalCustomerIdstringyesYour platform customer id (stable across retries)
namespacestring–Optional mapping namespace (default: default)
walletobjectyesWallet to create or reuse for this customer

No output schema declared.

No examples provided.

create_merchant_webhook ~71

Register a webhook URL. FortFi generates a signing secret (returned once) for the merchant to verify HMAC on incoming POSTs. Not per-product — one endpoint receives all paid events.

NameTypeReqDescription
descriptionstring––
urlstringyesHTTPS callback URL on the merchant's server

No output schema declared.

No examples provided.

create_payment_product ~169

Create a persistent product checkout link (/pay/p/{slug}). Each visit mints a fresh payment request. One webhook endpoint receives paid events for all products.

NameTypeReqDescription
amountSmallestUnitstring–Alternative: amount in token smallest units
amountUsdnumber–Price in USD/USDC
descriptionstring–Checkout subtitle shown to buyers
imageUrlstring–HTTPS product image URL for checkout branding
merchantSiteUrlstring–Merchant homepage for checkout branding (optional)
namestringyesProduct display name
slugstring–Optional URL slug (auto-generated if omitted)
successRedirectUrlstring–HTTPS buyer redirect after pay (optional)
walletMappingIdstringyesUSDC collection vault id

No output schema declared.

No examples provided.

create_payment_request ~134

Create a shareable payment request for a vault. Returns pid, paymentUrl, and qrPayload for humans or agents.

NameTypeReqDescription
amountSmallestUnitstring–USDC amount in smallest units (alternative to amountUsd)
amountUsdnumber–Invoice amount in USD (1 USD = 1 USDC)
descriptionstring–Optional invoice note
expiryDaysnumber–Days until expiry (default 30)
externalReferencestring–Optional external invoice id
metadataobject–Optional metadata object
walletMappingIdstringyesTarget collection vault id

No output schema declared.

No examples provided.

create_provisioning_job ~101

Bulk-provision up to 20 customer vaults per job (treasury + keys:manage + wallets:write). Requires idempotencyKey in args. Poll get_provisioning_job until terminal; bearer secrets reveal once on first terminal GET.

NameTypeReqDescription
idempotencyKeystringyesUnique key (8–200 chars) — same key + body replays the job
itemsarrayyesUp to 20 provisioning items

No output schema declared.

No examples provided.

create_vault_credential ~132

Mint a vault-scoped credential for an existing wallet (treasury + keys:manage). Returns bearerKey once when agentPublicKey is omitted. Requires FORTFI_VAULT_CREDENTIALS_ENABLED.

NameTypeReqDescription
accessstringyes–
agentPublicKeystring–Optional uncompressed P-256 public key (04… hex) for ECDSA auth
expiresAtstring–ISO-8601 expiry (optional)
namestringyesCredential label (2–100 chars)
vaultGrantsarrayyesExplicit wallet grants with optional USD micro caps

No output schema declared.

No examples provided.

discover_tokens ~287

Market-wide token discovery on a FortFi chain (USD). Use for trending/gainers/losers/volume/mcap — NOT the browser Explore REST route. Sorts: gainers_1d, gainers_30d, gainers_90d, gainers_365d, losers_1d, losers_30d, losers_90d, losers_365d, market_cap, volume_1d. No 7d or 30d-volume sort exists upstream — closest available gainers granularity to '1 week' is gainers_1d or gainers_30d; say so explicitly rather than silently picking one. Returns contract addresses for propose_swap / propose_bridge.

NameTypeReqDescription
chainIdstringyesFortFi chain id, e.g. base-mainnet, ethereum-mainnet
limitnumber–Max results (default 10, max 25)
querystring–Optional name/symbol filter, e.g. 'USDC' or 'wrapped'
sortstring–gainers_1d, gainers_30d, gainers_90d, gainers_365d, losers_1d, losers_30d, losers_90d, losers_365d, market_cap, volume_1d (default market_cap)
verifiedOnlyboolean–Only verified tokens

No output schema declared.

No examples provided.

extend_payment_request ~48

Extend an open payment request expiry (default extension window in days).

NameTypeReqDescription
expiryDaysnumberyesNew expiry horizon from now (1-365)
idOrPidstringyes–

No output schema declared.

No examples provided.

get_account_holdings ~40

Token holdings for a specific wallet, with USD values and 24h change.

NameTypeReqDescription
walletIdstringyesWallet id from list_wallets

No output schema declared.

No examples provided.

get_copy_trade_wallet ~91

Deep dive on any Hyperliquid address: account value, leverage, open positions with share of book, PnL and volume for day, week, month and all time, and a copy preview per leverage cap (which positions would be copied, coverage, and the minimum account size so each copied position is at least $10).

NameTypeReqDescription
addressstringyes0x Hyperliquid address

No output schema declared.

No examples provided.

get_cosigner_rules ~37

Amount-banded cosigner quorum rules for sends and swaps. Below-band amounts auto-execute; matching bands require N cosigner votes.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_fusion_order_status ~60

Track an owned Fusion+ cross-chain order by orderHash. Returns authoritative settlement/refund status, source and destination transactions, receiver, and the real destination token contract.

NameTypeReqDescription
orderHashstringyesFusion+ order hash (0x…)

No output schema declared.

No examples provided.

get_hyperliquid_balances ~108

Get Hyperliquid wallet balances: L1 perps margin (withdrawable), HL Spot USDC (MoonPay HyperCore lands here), and HyperEVM USDC/HYPE. Also returns a `perps` aggregate over open positions: openPositionCount, unrealizedPnlUsd, entryNotionalUsd, and unrealizedPnlPct (null when nothing is open).

NameTypeReqDescription
walletIdstringyesFortFi wallet id on hyperliquid-mainnet

No output schema declared.

No examples provided.

get_hyperliquid_cross_section ~272

Rank a Hyperliquid perp universe by trailing return in one call, for a dollar-neutral long/short book. Returns dex, assetClass, trailing returns, realized vol, funding, rank, percentile, and long/short/hold buckets. Default scope=core (validated trend desk); pass scope=all for HIP-3 cross-asset books. Read-only; never creates proposals.

NameTypeReqDescription
assetClass––Filter asset classes. Comma-separated string or array.
bandnumber–Hysteresis band, default 1.0. A held name stays eligible while inside the top legsPerSide*(1+band); surfaced as hold_long / hold_short.
dex––Filter dex ids. Comma-separated string or array.
includeAllDesksboolean–When true, same as scope=all
legsPerSidenumber–Legs per side, default 6
limitnumber–Max symbols ranked by volume, default 60
lookbackDaysarray–Trailing return windows in days. FIRST entry is the ranking signal. Default [14,7,30].
minDayVolumeUsdnumber–Liquidity floor, default 2000000
scopestring–Default core

No output schema declared.

No examples provided.

get_hyperliquid_history ~233

Long price history for one Hyperliquid perp, with no gap up to now: FortFi's stored candles (years for most markets, synced daily) plus live candles since the last sync. Returns the latest `limit` candles in the window, oldest first, as {t,o,h,l,c,v}. When older candles exist, olderEndTime is set: pass it as endTime to page back. includeFunding adds hourly funding rates for the same window. Use get_hyperliquid_market for a quick recent look, this for research.

NameTypeReqDescription
endTime––Window end, epoch ms or ISO date. Default: now.
includeFundingboolean–Add hourly funding rates for the window
intervalstring–Candle interval (default 1h)
limitnumber–Max candles returned (default 500, max 5000)
startTime––Window start, epoch ms or ISO date. Default: limit candles before endTime.
symbolstringyesMarket symbol, e.g. BTC, kPEPE, xyz:NVDA

No output schema declared.

No examples provided.

get_hyperliquid_market ~59

Get a Hyperliquid perp market by symbol with mark/funding context and optional candle history.

NameTypeReqDescription
intervalstring–Candle interval (default 1h)
symbolstringyesCoin symbol, e.g. BTC

No output schema declared.

No examples provided.

get_hyperliquid_order_book ~169

Live order book for one Hyperliquid perp (core or HIP-3, e.g. BTC or xyz:NVDA): up to 20 levels a side, mid, spread, and USD resting within 0.5%, 1% and 2% of mid. Pass sizeUsd to see the average fill and price impact of a market buy and sell of that size. Use it before sizing an order or to compare liquidity across coins.

NameTypeReqDescription
nSigFigsnumber–Group prices to this many significant figures to see deeper into the book (default: full precision)
sizeUsdnumber–Optional order size in USD for the price impact estimate
symbolstringyesCoin symbol, e.g. BTC or xyz:NVDA

No output schema declared.

No examples provided.

get_hyperliquid_outcome_market ~65

One HIP-4 outcome market. id is the numeric outcome id. Optional walletId reads that Hyperliquid account's share balance.

NameTypeReqDescription
idstringyesOutcome id, e.g. 9802
walletIdstring––

No output schema declared.

No examples provided.

get_hyperliquid_predicted_funding ~139

Next funding rate per Hyperliquid perp, per hour and annualized, with Binance and Bybit for the same coin and the gap between them. Positive means longs pay shorts. Without symbols: core coins sorted by the size of the Hyperliquid rate. HIP-3 coins (xyz:, …) need symbols and return the current hourly rate. For past funding use get_hyperliquid_history with includeFunding=true.

NameTypeReqDescription
limitnumber–Rows to return, 1-300 (default 50)
symbols––Coins to return. Comma-separated string or array, up to 100.

No output schema declared.

No examples provided.

get_hyperliquid_research_data_stats ~44

Row counts and last ingest time for hl_research_* tables (candles, funding, symbols). Use before backtests to confirm data freshness.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_hyperliquid_trading_desk ~127

One-shot Hyperliquid trading desk snapshot for agent loops: margin, balances, positions, open orders, recent fills, and a `performance` block with unrealizedPnlUsd, unrealizedPnlPct, entryNotionalUsd, openPositionCount, and realizedPnlUsdRecentFills. Prefer this over many separate reads every 30-60 minutes.

NameTypeReqDescription
fillLimitnumber–Recent fills to include (default 100, max 500)
walletIdstringyesFortFi wallet id on hyperliquid-mainnet

No output schema declared.

No examples provided.

get_hyperliquid_user_fills ~73

Recent Hyperliquid trade fills with closedPnl per fill. Use for P&L review and trade history (up to 2000 from HL).

NameTypeReqDescription
limitnumber–Max fills to return (default 200, max 2000)
walletIdstringyes–

No output schema declared.

No examples provided.

get_mcp_guide ~65

FortFi MCP capability guide: onboarding paths, pricing, limits, workflows, and full tool catalog. Call first when unsure which tool to use (e.g. market research → discover_tokens, not the Explore UI REST route).

NameTypeReqDescription
topicstring–Default overview

No output schema declared.

No examples provided.

get_payment_product ~34

Get a payment product by internal id or public slug.

NameTypeReqDescription
idstring––
slugstring––

No output schema declared.

No examples provided.

get_payment_request ~38

Get a payment request by internal id or public pid, including settlement attempts.

NameTypeReqDescription
idOrPidstringyesInternal id or public pid

No output schema declared.

No examples provided.

get_policy_limits ~45

Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts also include agent cap tier limits, maxWallets, and credential access expiry.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_polymarket_market ~76

Get a Polymarket market by conditionId with optional outcome price history from the public CLOB API.

NameTypeReqDescription
conditionIdstringyesMarket condition id
intervalstring–Price history window (default 1w)
tokenIdstring–Outcome token id for history (defaults to first outcome)

No output schema declared.

No examples provided.

get_portfolio ~32

Full portfolio summary across all wallets: token balances with USD values, 24h change, and total net worth.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_provisioning_job ~54

Poll a bulk provisioning job (treasury + keys:manage + wallets:read). bearerKey appears once when secretsDelivery is revealed.

NameTypeReqDescription
jobIdstringyesJob id from create_provisioning_job

No output schema declared.

No examples provided.

get_strategy ~56

Get one strategy with its last 20 runs (each run lists the orders it placed and their result).

NameTypeReqDescription
idstringyesStrategy id from list_strategies
walletIdstringyesWallet the strategy runs on

No output schema declared.

No examples provided.

get_swap_routing_guide ~59

Returns which swap/bridge tool to use for a given from→to chain pair, with notes on protocols supported.

NameTypeReqDescription
fromChainIdstringyesSource chain id
toChainIdstringyesDestination chain id

No output schema declared.

No examples provided.

get_token_chart ~185

Fetch a compact Zerion chart summary plus deterministic EMA, RSI, MACD, Bollinger, return, max-drawdown, and data-quality analysis. Raw points are omitted by default; set includePoints:true only for visual charting or external analysis. Discontinuous pre-migration/launch samples are excluded from TA.

NameTypeReqDescription
addressstring–Token contract address or Solana mint (fallback)
chainIdstringyesFortFi chain id, e.g. base-mainnet, ethereum-mainnet
fungibleIdstring–Zerion fungible id returned by discover_tokens (preferred)
includePointsboolean–Include the raw chart points array. Default false.
indicatorsarray–Optional indicators to return; defaults to all. REST callers may pass a comma-separated value.
periodstring–Chart window (default day)

No output schema declared.

No examples provided.

get_treasury_context ~53

Who am I? Returns treasury email, user id, credential kind/scopes, vault summary, and policy limits for this API key. Call first to confirm you are on the correct account before money-moving tools.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_usage_balance ~40

Monthly UpTo product balance: cap, used, remaining, and period bounds. Billable writes consume this pool; unused budget is refunded at period end.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_wallet_loss_cap ~92

Read the loss cap on a Hyperliquid wallet: the max loss in percent, whether it is armed or tripped, the balance it was set at, and (live) how much the wallet has lost or made since. Deposits and withdrawals do not count as gains or losses. Returns lossCap null when none is set.

NameTypeReqDescription
walletIdstringyeshyperliquid-mainnet wallet id

No output schema declared.

No examples provided.

get_wallet_scoreboard ~156

Scoreboard for a Hyperliquid wallet from Hyperliquid's public data: balance, P&L in dollars and percent, win rate (closed trades that beat their fees), trades, fees, volume, worst drop, the loss cap, and BTC buy-and-hold over the same window (no leverage) as the bar to beat. Same numbers anyone can check on the Hyperliquid explorer (explorerUrl). Use it to review how your trading is going before changing anything.

NameTypeReqDescription
includeHistoryboolean–Add balance and P&L-over-time points [timestampMs, usd]
periodstring–Window (default week)
walletIdstringyeshyperliquid-mainnet wallet id

No output schema declared.

No examples provided.

get_yield_market_detail ~214

Evidence for one Morpho vault: current net APY/TVL, historical APY and TVL series, period statistics, quality flags, allocation, instant-withdrawal liquidity, separated eligibility/readiness status, and timestamp. Rank on evidence.apy.medianPercent: the raw series contains upstream artifacts (points above 3000% APY) so averagePercent is filtered and medianPercent is the robust level. Check evidence.liquidity.redeemableUsd before sizing, since vaults typically run near 90% utilization and only unborrowed supply can be withdrawn on demand. Use before recommending or proposing a deposit.

NameTypeReqDescription
apyDaysnumber–APY history window, 7–365 days; default 30
chainIdstringyesFortFi yield-supported chain id
tvlDaysnumber–TVL history window, 7–365 days; default 90
vaultAddressstringyesVault address from list_yield_markets

No output schema declared.

No examples provided.

invite_agent_cosigner ~150

Invite a co-signer. Agents: pass cosignerUserId (GOVERN / funding-wallet sign when using an agent API key). Humans: pass email — opens instructions for Security UI passkey provision (Turnkey dual-control with MCP DA).

NameTypeReqDescription
challengeIdstring–Governance challengeId from the first call
cosignerUserIdstring–Agent path: FortFi userId of the agent to invite as co-signer
emailstring–Human path: invitee email for Security UI co-signer provision
nicknamestring–Optional nickname for this co-signer
walletSignaturestring–Funding-wallet signature over the challenge message

No output schema declared.

No examples provided.

invite_cosigner ~70

Alias of invite_agent_cosigner. Humans: email → Security UI. Agents: cosignerUserId.

NameTypeReqDescription
challengeIdstring––
cosignerUserIdstring––
emailstring––
nicknamestring––
walletSignaturestring––

No output schema declared.

No examples provided.

Install

How do I install the FortFi Treasury MCP server?

FortFi Treasury MCP is a hosted endpoint at https://fortfiapp.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · fortfiapp.com

# add to Claude Code
claude mcp add --transport http rebelartists-fortfi-treasury-mcp 'https://fortfiapp.com/api/mcp'
Common questions

What is the FortFi Treasury MCP server?

FortFi Treasury MCP is listed in the public MCP registry as io.github.rebelArtists/fortfi-treasury-mcp. Policy-gated MCP treasury for AI agents, x402 subscribe, 50+ tools, multi-chain. This page covers its hosted endpoint (https://fortfiapp.com/api/mcp).

Is the FortFi Treasury MCP server safe to use?

FortFi Treasury MCP scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the FortFi Treasury MCP server expose?

FortFi Treasury MCP exposes 139 tools: get_mcp_guide, get_treasury_context, list_wallets, list_recipients, list_audit_log, and 134 more. Their descriptions and schemas cost roughly 15,209 tokens of context every time the server is loaded.

Does the FortFi Treasury MCP server require authentication?

No. We connected to FortFi Treasury MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the FortFi Treasury MCP server still maintained?

FortFi Treasury MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.