Policy-gated MCP treasury for AI agents — x402 subscribe, 50+ tools, multi-chain.
Connect Remote server
claude mcp add --transport http fortfi-treasury-mcp https://fortfiapp.com/api/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"fortfi-treasury-mcp": {
"url": "https://fortfiapp.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"fortfi-treasury-mcp": {
"type": "http",
"url": "https://fortfiapp.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://fortfiapp.com/api/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 80 found in our last check
get_mcp_guideFortFi 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).
get_treasury_contextWho 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.
list_walletsList FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match). Pass cursor and/or limit to page through large fleets — response becomes { items, nextCursor } when either is set; omit both…
list_recipientsList all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate).
list_audit_logRecent account activity: one row per money move (sends, swaps, bridges), blocked attempt, or account change (keys, recipients). Money rows and blocked rows carry a confirmationNumber (FF-XXXX-XXXX) the owner can quote to FortFi support. Blocked rows carry the reasons. Pass view:…
list_activity_reportTreasury activity timeline (JSON) for reconciliation: normalized labels, USD hints, vault scope, and categories. Optional walletId narrows to one vault. Requires reporting:read (or account:read).
get_fusion_order_statusTrack an owned Fusion+ cross-chain order by orderHash. Returns authoritative settlement/refund status, source and destination transactions, receiver, and the real destination token contract.
get_policy_limitsCurrent policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts also include agent cap tier limits, maxWallets, and credential access expiry.
get_usage_balanceMonthly UpTo product balance: cap, used, remaining, and period bounds. Billable writes consume this pool; unused budget is refunded at period end.
resend_claim_linkResend the dashboard claim email to contactEmail (MCP agent API key only; keys:manage scope). Use when the original link expired (72h) or was lost. Rate limit: 3/hour.
list_funding_wallet_agentsList all FortFi agent accounts funded by the same payment wallet as this agent. Use to discover agentLabel / userId when renewing or spawning siblings (treasury multi-agent setups).
list_cosigner_membershipsActive co-signers on this account.
get_cosigner_rulesAmount-banded cosigner quorum rules for sends and swaps. Below-band amounts auto-execute; matching bands require N cosigner votes.
update_cosigner_rulesSet cosigner quorum rules (send + swap USD bands). Tightening rules works with the agent key alone. WEAKENING them (lower required cosigners / raise the amount floor) is a GOVERN action: sign a challenge with your funding wallet (challengeId + walletSignature); applies immediate…
list_pending_cosigner_approvalsPending actions that require this account's co-signer approval. Use when this agent is a co-signer on another account.
add_recipientAdd 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.
remove_recipientRemove a recipient from the FortFi allowlist (tightening policy — no funding-wallet GOVERN). Human developer key, session, or agent treasury key. Re-sync Turnkey policies in the app so the enclave matches.
approve_recipientApprove 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 s…
validate_recipient_manifestPreview a batch recipient import (max 50 rows). Each row: { address, chainId, nickname? }. Returns ready_new, already_exists, or invalid per line. Read-only.
propose_recipient_manifestApply a validated recipient manifest (human/developer key). Adds new allowlist rows with normal 24h cooldown. Agent keys: use add_recipient per row (GOVERN).
validate_payout_manifestPreview batch payroll/payout (max 50 lines). Each line: { recipientId, amountUsdc, memo? }. All recipients must be allowlisted, same chain as fromWalletId, and past cooldown.
propose_payout_manifestExecute a validated payout manifest sequentially (one ActionIntent per line). Requires Delegated Access or agent wallet. Set dryRun:true to validate only.
propose_transferTransfer USDC to an allowlisted recipient, OR pay a FortFi invoice by public pid (paymentRequestPid + fromWalletId — amount optional for partial pay). Recipient path requires allowlist approval. Invoice path binds settlement to the pid (Delegated Access / agent accounts execute…
invite_agent_cosignerInvite 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).
invite_cosignerAlias of invite_agent_cosigner. Humans: email → Security UI. Agents: cosignerUserId.
approve_cosigner_actionApprove a pending action as co-signer. Use with list_pending_cosigner_approvals.
reject_cosigner_actionReject a pending action as co-signer.
get_portfolioFull portfolio summary across all wallets: token balances with USD values, 24h change, and total net worth.
get_account_holdingsToken holdings for a specific wallet, with USD values and 24h change.
review_portfolioRead-only treasury review: allocation buckets (cash, yield, tokens), top holdings, and optional drift vs target weights. Safe for cron — no proposals created.
plan_rebalanceRead-only rebalance planner toward target weights. Returns suggested legs (swap, yield_deposit, yield_withdraw) without executing. Use propose_* + confirm_proposal to act.
discover_tokensMarket-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-v…
get_token_chartFetch 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…
screen_tokensBatch cheap-screen tokens across requested chains. Defaults to verified assets, $5M market cap, $50K daily volume, top 30-day performers plus volume leaders, stablecoin removal, and cross-chain deduplication. Returns no proposal.
rank_tokensTwo-stage token ranking: run the cheap screen, then concurrently fetch deterministic chart evidence only for the strongest candidates. Quick charts 5 candidates over month+3months; standard charts 10 over day+month+3months+year; deep charts 20 and requires explicit opt-in. Retur…
get_swap_routing_guideReturns which swap/bridge tool to use for a given from→to chain pair, with notes on protocols supported.
list_token_spender_grantsList active ERC-20 token approvals (spender grants) on this account. Useful before proposing a swap to confirm the CoW vault is approved.
list_incoming_cosigner_invitesList pending co-signer invites sent TO this account (where this account is the invitee). Use to discover accounts you can become a co-signer for.
accept_cosigner_inviteAccept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account.
remove_cosignerRemove an active co-signer from this account. GOVERN action (it shrinks the approver set): via an agent key, sign a challenge with your funding wallet (challengeId + walletSignature); applies immediately once signed.
register_backup_governance_walletRegister (or replace) a single backup governance wallet — the agentic equivalent of a backup passkey. Either the funding wallet or this backup can authorize future governance. GOVERN action: sign the challenge with your CURRENT funding wallet (challengeId + walletSignature); app…
remove_backup_governance_walletRemove the registered backup governance wallet. GOVERN action: sign with your funding wallet (challengeId + walletSignature); applies immediately once signed. After removal, only the funding wallet may authorize governance.
list_governance_requestsList open governance requests on this account: pending (awaiting signature) and legacy scheduled rows. Use to monitor for unexpected loosening attempts.
cancel_governance_changeVeto/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.
revoke_cosigner_inviteRevoke a pending outbound co-signer invite before it is accepted.
cancel_pending_actionCancel a pending approval that you (the account owner) initiated.
propose_rename_accountRename a wallet (account nickname), then call confirm_proposal with the returned proposalId.
propose_create_accountCreate a new wallet on a supported chain. Optional metadata tags (e.g. customer_id). Then call confirm_proposal with the returned proposalId. Agent accounts execute server-side when no cosigners are configured.
confirm_proposalConfirm 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.
update_wallet_metadataPropose updating wallet metadata tags (flat string key/value pairs; replaces existing tags on confirm). Returns proposalId; call confirm_proposal to apply. Not a money-moving action.
preview_swap_quoteOptional advanced step: fetch a same-chain swap quote (CoW on EVM, Jupiter on Solana) and return previewQuoteId. Omit previewQuoteId on propose_* to bundle quote+proposal in one call. Does not execute or move funds.
preview_bridge_quoteOptional advanced step: fetch a cross-chain bridge quote (Fusion+ or deBridge) and return previewQuoteId. Omit previewQuoteId on propose_bridge to bundle quote+proposal in one call.
check_trade_allowanceCheck 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.
propose_token_approvePropose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId: call confirm_proposal before swap/bridge. API keys on a passkey account cannot approve the Fusion (bridge) spender: fusion_bridge returns OWNER_PASSKEY_REQUIRED.
propose_swapPropose an EVM CoW swap. Autonomous agents: fetches and binds a quote inline (default), or pass previewQuoteId from preview_swap_quote for a two-step review. confirm always signs the bound quote — same principle as FortFi Assist. Human session MCP: confirm requires passkey in th…
propose_solana_swapPropose a Solana Jupiter swap. Autonomous agents: inline quote by default, or previewQuoteId for two-step review. confirm signs the bound quote.
propose_bridgePropose a Fusion+ or deBridge cross-chain swap. FortFi resolves chain-specific verified token contracts from sellSymbol/buySymbol; optional token addresses are mismatch assertions, never routing overrides. Inline quote by default, or use previewQuoteId for two-step review. Agent…
list_yield_marketsOpen Morpho yield discovery by chain with discovered, policyEligible, manuallyCurated, executionReady, and eligibilityReasons. Default minimum TVL is $500K everywhere (listing, policy, Turnkey). executionReady means TVL qualifies and you have a wallet on that chain; POLICY_SYNC_…
list_yield_positionsActive Morpho yield positions with per-vault valueUsd, earnedUsd (Morpho pnlUsd), netApy, and a summary block. summary.cumulativeEarnedUsd matches Morpho pnl on the open vaults when the ledger cannot explain the balance. A deposit missing from the ledger is principal, not earnin…
get_yield_market_detailEvidence 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 upstr…
rank_yield_marketsBatch-rank Morpho markets using current net APY, APY median/average/range/volatility, TVL trend/drawdown, vault age, curation, instant-withdrawal liquidity, warnings, and current-user execution eligibility. Results are ordered by current net APY, which is a spot rate that spikes…
propose_yield_depositPropose Morpho vault deposit, then call confirm_proposal. With Delegated Access / agent key this executes server-side when policy permits. Use list_yield_markets for vaultAddress.
propose_yield_withdrawPropose Morpho vault withdraw, then call confirm_proposal. With Delegated Access this executes server-side when policy permits. Use list_yield_positions for vaultAddress.
list_polymarket_marketsList active Polymarket prediction markets on Polygon with volume, liquidity, and outcome prices.
search_polymarket_marketsSearch Polymarket markets by question text.
rank_polymarket_marketsRank Polymarket markets by volume, liquidity, or 24h volume.
get_polymarket_marketGet a Polymarket market by conditionId with optional outcome price history from the public CLOB API.
list_polymarket_positionsList Polymarket outcome token positions for a Polygon wallet. walletId is required.
propose_polymarket_buyPropose buying Polymarket outcome shares, then call confirm_proposal. Requires Polygon wallet.
propose_polymarket_sellPropose selling Polymarket outcome shares (redeem collateral), then call confirm_proposal.
propose_polymarket_redeemPropose redeeming winning shares from a resolved Polymarket market (CTF on Polygon), then call confirm_proposal.
list_hyperliquid_marketsList Hyperliquid perpetual markets with live mark/mid/oracle prices, funding, open interest, and 24h volume. Public data; no proposal.
get_hyperliquid_marketGet a Hyperliquid perp market by symbol with mark/funding context and optional candle history.
get_hyperliquid_order_bookLive order book for one Hyperliquid perp (core or HIP-3, e.g. BTC or xyz:NVDA) or, with market=spot, one spot pair: 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…
get_hyperliquid_predicted_fundingNext 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 ret…
get_hyperliquid_open_interest_historyHourly open interest for one Hyperliquid perp (core or HIP-3), in coins and dollars, with price and funding at each hour, plus the change over 1 hour, 24 hours and 7 days. Hyperliquid keeps no open interest history; FortFi records it every hour from 2026-11-05.
list_hyperliquid_symbol_masterSecurity master for Hyperliquid perps: symbol, dex, desk label, short symbol, display name, asset class (crypto/equity/commodity/fx/index/pre_ipo), plus live volume and funding. Default scope=core; pass scope=all for HIP-3.
rank_hyperliquid_marketsRank Hyperliquid perp markets by 24h volume, pctChange, or funding. Returns dex + assetClass tags. Default scope=core; pass scope=all for HIP-3. Cheap filter only — use screen_hyperliquid_markets for breakout TA.
screen_hyperliquid_marketsBreakout screener for Hyperliquid perps: min volume filter, rank, HL candle TA (RSI, MACD, Bollinger). Returns dex + assetClass tags and long/short/neutral bias. Default scope=core; scope=all for HIP-3. Never creates proposals.
get_hyperliquid_cross_sectionRank 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 H…
Headers
| Name | Description |
|---|---|
AuthorizationRequired, secret | Bearer frtfi_ag_* from POST /api/mcp/onboard (x402 USDC on Base). Docs: https://fortfiapp.com/agents |
Details
| Endpoint | https://fortfiapp.com/api/mcp (Streamable HTTP) |
| First published | 14 Jul 2026 |
| Last updated | 14 Jul 2026 |
| Registry name | io.github.rebelArtists/fortfi-treasury-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
