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 · SCANNED SEP 20

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

Available components

0 this week 35 Trust /100
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 Security63
Transport & Reachability100
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

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'
// .cursor/mcp.json
{
  "mcpServers": {
    "rebelartists-fortfi-treasury-mcp": {
      "url": "https://fortfiapp.com/api/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "rebelartists-fortfi-treasury-mcp": {
      "type": "http",
      "url": "https://fortfiapp.com/api/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.rebelartists-fortfi-treasury-mcp]
url = "https://fortfiapp.com/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rebelartists-fortfi-treasury-mcp": {
      "type": "remote",
      "url": "https://fortfiapp.com/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add rebelartists-fortfi-treasury-mcp --url 'https://fortfiapp.com/api/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  rebelartists-fortfi-treasury-mcp:
    url: "https://fortfiapp.com/api/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "rebelartists-fortfi-treasury-mcp": {
      "Transport": "http",
      "Url": "https://fortfiapp.com/api/mcp"
    }
  }
}
# add to Vellum
assistant mcp add rebelartists-fortfi-treasury-mcp -t streamable-http -u 'https://fortfiapp.com/api/mcp'
// mcp.json
{
  "mcpServers": {
    "rebelartists-fortfi-treasury-mcp": {
      "type": "http",
      "url": "https://fortfiapp.com/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

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.

  • 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 tool list to see what that exposes. security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
  • 4 Aug 26 0
    • Tool “discover_tokens” rewrote its description, which is the text the model reads security
    • Tool “list_yield_markets” 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_create_account” rewrote its description, which is the text the model reads security
    • Tool “propose_rename_account” 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_yield_deposit” rewrote its description, which is the text the model reads security
    • Tool “propose_yield_withdraw” rewrote its description, which is the text the model reads security
    • Schema quality: 86 → 95 functional
    • New tool “confirm_proposal” functional
    • New tool “get_fusion_order_status” functional
    • New tool “get_token_chart” functional
    • New tool “get_yield_market_detail” functional
    • New tool “plan_rebalance” functional
    • New tool “propose_payout_manifest” functional
    • New tool “propose_recipient_manifest” functional
    • New tool “rank_tokens” functional
    • New tool “rank_yield_markets” functional
    • New tool “review_portfolio” functional
    • New tool “screen_tokens” functional
    • New tool “validate_payout_manifest” functional
    • New tool “validate_recipient_manifest” functional
    • “discover_tokens” reworded the description of “sort” cosmetic
    • “list_yield_markets” reworded the description of “minTvlUsd” cosmetic
    • “propose_bridge” reworded the description of “buyTokenAddress” cosmetic
    • “propose_bridge” reworded the description of “sellTokenAddress” cosmetic
    • “propose_bridge” made “buyTokenAddress” optional cosmetic
    • “propose_bridge” made “sellTokenAddress” optional cosmetic
  • 31 Jul 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
  • 30 Jul 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
  • 29 Jul 26 0
    • Stability: unverified → 0.03 functional
  • 28 Jul 26 0
    • Transport: fail → pass security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 59 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
    • MCP protocol: unverified → fail functional
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: pass functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 81 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 20 Sept 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=YE2,O=Let's Encrypt,C=US 25 Jul 2026 23 Oct 2026 ECDSA 256 ECDSA-SHA384 68aa4096872883a481674d7ce83287368e3
SANs: *.fortfiapp.com, fortfiapp.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
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 insecure

Validation of fortfiapp.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
fortfiapp.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
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 · 72 exposed · ~6,841 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 ~150

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. base-mainnet, ethereum-mainnet, solana-mainnet
challengeIdstringAgent GOVERN: challengeId from the first call
nicknamestringOptional display name
walletSignaturestringAgent 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 ~102

Approve a recipient still in cooldown (early release). A distinct active cosigner may approve directly; owner self-approval via an agent key is a GOVERN action requiring a funding-wallet signature (challengeId + walletSignature).

NameTypeReqDescription
challengeIdstringGovernance challengeId from the first call
recipientIdstringyesRecipient id from list_recipients or add_recipient
walletSignaturestringFunding-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_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
confirmTokenstringOptional proposal-bound confirmation token when one was returned
proposalIdstringyesProposal UUID returned by a propose_* tool

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
amountSmallestUnitstringUSDC amount in smallest units (alternative to amountUsd)
amountUsdnumberInvoice amount in USD (1 USD = 1 USDC)
descriptionstringOptional invoice note
expiryDaysnumberDays until expiry (default 30)
externalReferencestringOptional external invoice id
metadataobjectOptional 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
agentPublicKeystringOptional uncompressed P-256 public key (04… hex) for ECDSA auth
expiresAtstringISO-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
limitnumberMax results (default 10, max 25)
querystringOptional name/symbol filter, e.g. 'USDC' or 'wrapped'
sortstringgainers_1d, gainers_30d, gainers_90d, gainers_365d, losers_1d, losers_30d, losers_90d, losers_365d, market_cap, volume_1d (default market_cap)
verifiedOnlybooleanOnly 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_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_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
topicstringDefault overview

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 ~51

Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts include billingPlan (personal|startup), billingPlanName, maxWallets, tier, and subscription expiry.

Input schema present but exposes no named parameters.

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_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
addressstringToken contract address or Solana mint (fallback)
chainIdstringyesFortFi chain id, e.g. base-mainnet, ethereum-mainnet
fungibleIdstringZerion fungible id returned by discover_tokens (preferred)
includePointsbooleanInclude the raw chart points array. Default false.
indicatorsarrayOptional indicators to return; defaults to all. REST callers may pass a comma-separated value.
periodstringChart window (default day)

No output schema declared.

No examples provided.

get_yield_market_detail ~141

Evidence for one Morpho vault: current net APY/TVL, historical APY and TVL series, period averages/volatility/drawdown, quality flags, allocation, separated eligibility/readiness status, and timestamp. Use before recommending or proposing a deposit.

NameTypeReqDescription
apyDaysnumberAPY history window, 7–365 days; default 30
chainIdstringyesFortFi yield-supported chain id
tvlDaysnumberTVL 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
challengeIdstringGovernance challengeId from the first call
cosignerUserIdstringAgent path: FortFi userId of the agent to invite as co-signer
emailstringHuman path: invitee email for Security UI co-signer provision
nicknamestringOptional nickname for this co-signer
walletSignaturestringFunding-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.

list_audit_log ~40

Recent account activity: transfers, swaps, security events.

NameTypeReqDescription
limitnumberMax entries to return (default 20, max 100)

No output schema declared.

No examples provided.

list_cosigner_memberships ~19

Active co-signers on this account.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_funding_wallet_agents ~47

List 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).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_governance_requests ~39

List open governance requests on this account: pending (awaiting signature) and legacy scheduled rows. Use to monitor for unexpected loosening attempts.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_incoming_cosigner_invites ~45

List 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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_payment_requests ~36

List payment requests for the authenticated account.

NameTypeReqDescription
statusstring
walletMappingIdstringOptional vault filter

No output schema declared.

No examples provided.

list_pending_cosigner_approvals ~51

Pending actions that require this account's co-signer approval. Use when this agent is a co-signer on another account.

NameTypeReqDescription
limitnumberMax entries (default 10)

No output schema declared.

No examples provided.

list_recipients ~39

List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_token_spender_grants ~41

List active ERC-20 token approvals (spender grants) on this account. Useful before proposing a swap to confirm the CoW vault is approved.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_wallets ~77

List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match).

NameTypeReqDescription
metadataKeystringFilter wallets that include this metadata key (optional)
metadataValuestringWhen set with metadataKey, require an exact value match

No output schema declared.

No examples provided.

list_yield_markets ~187

Open 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_RECOMMENDED is advisory only.

NameTypeReqDescription
assetstringAsset symbol filter, default USDC
chainIdstringFortFi chain id or omit for all yield chains
limitnumberMax vaults (default 15, max 25)
minTvlUsdnumberMinimum vault TVL in USD (default 500000)
sortBystringnet_apy (default) or tvl
verifiedOnlybooleanIf true, only FortFi curated vaults; default false = open discovery

No output schema declared.

No examples provided.

list_yield_positions ~21

User's Morpho yield positions from FortFi history.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

plan_rebalance ~135

Read-only rebalance planner toward target weights. Returns suggested legs (swap, yield_deposit, yield_withdraw) without executing. Use propose_* + confirm_proposal to act.

NameTypeReqDescription
driftThresholdPercentnumberIgnore drift below this % (default 5)
minLegUsdnumberMinimum leg size in USD (default 1)
targetsarrayyesTarget allocation. Each row: { label, weightPercent, kind: cash|yield|token|symbol, symbol? }. Example: 40% cash, 10% yield, 30% UNI, 20% other tokens.

No output schema declared.

No examples provided.

preview_bridge_quote ~91

Optional 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.

NameTypeReqDescription
amountUsdstringyes
buySymbolstringyes
fromWalletIdstringyes
sellSymbolstringyes
toWalletIdstringyes

No output schema declared.

No examples provided.

preview_swap_quote ~212

Optional 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.

NameTypeReqDescription
amountUsdstringyesApproximate sell amount in USD
buyMintstringSolana buy mint — omit for EVM
buySymbolstringyes
buyTokenAddressstringEVM buy token (0x…) — omit for Solana
fromWalletIdstringyesSource wallet id
sellMintstringSolana sell mint — omit for EVM
sellSymbolstringyes
sellTokenAddressstringEVM sell token (0x…) — omit for Solana
slippagePercentnumberOptional Jupiter slippage 0–50
toWalletIdstringOptional Solana receive wallet

No output schema declared.

No examples provided.

propose_bridge ~197

Propose 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.

NameTypeReqDescription
amountUsdstringyesBridge amount in USD
buySymbolstringyesBuy token symbol
buyTokenAddressstringOptional expected destination token contract; proposal fails if it differs from FortFi's verified chain resolution
fromWalletIdstringyesSource wallet id
previewQuoteIdstringOptional — from preview_bridge_quote for explicit quote review before propose
sellSymbolstringyesSell token symbol
sellTokenAddressstringOptional expected source token contract; proposal fails if it differs from FortFi's verified chain resolution
toWalletIdstringyesDestination wallet id (different chain)

No output schema declared.

No examples provided.

propose_create_account ~125

Create 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.

NameTypeReqDescription
chainIdstringyesFortFi chain id, e.g. base-mainnet, solana-mainnet
metadataobjectOptional flat string tags (max 20 keys), e.g. { "customer_id": "cust_123" }
walletNamestringyesDisplay name for the new wallet (2–64 chars)

No output schema declared.

No examples provided.

propose_payout_manifest ~72

Execute a validated payout manifest sequentially (one ActionIntent per line). Requires Delegated Access or agent wallet. Set dryRun:true to validate only.

NameTypeReqDescription
dryRunbooleanIf true, validate only — no sends
fromWalletIdstringyes
linesarrayyes

No output schema declared.

No examples provided.

propose_recipient_manifest ~54

Apply a validated recipient manifest (human/developer key). Adds new allowlist rows with normal 24h cooldown. Agent keys: use add_recipient per row (GOVERN).

NameTypeReqDescription
recipientsarrayyes

No output schema declared.

No examples provided.

propose_rename_account ~56

Rename a wallet (account nickname), then call confirm_proposal with the returned proposalId.

NameTypeReqDescription
accountIdstringyesWallet id from list_wallets
nicknamestringyesNew nickname (2–64 characters)

No output schema declared.

No examples provided.

propose_solana_swap ~188

Propose a Solana Jupiter swap. Autonomous agents: inline quote by default, or previewQuoteId for two-step review. confirm signs the bound quote.

NameTypeReqDescription
amountUsdstringyesSell amount in USD
buyMintstringyesMint address of token to buy
buySymbolstringyesHuman-readable buy symbol
fromWalletIdstringyesSolana wallet id to sell from
previewQuoteIdstringOptional — from preview_swap_quote for explicit quote review before propose
sellMintstringyesMint address of token to sell
sellSymbolstringyesHuman-readable sell symbol
slippagePercentnumberOptional slippage tolerance 0–50 (default 0.5)
toWalletIdstringyesSolana wallet id to receive (can be same as fromWalletId)

No output schema declared.

No examples provided.

propose_swap ~224

Propose 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 the app.

NameTypeReqDescription
amountUsdstringyesSell amount in USD
buySymbolstringyesHuman-readable symbol of buy token, e.g. ETH
buyTokenAddressstringyesToken contract address to buy (0x…)
fromWalletIdstringyesSource wallet id (must be EVM, CoW-supported chain)
previewQuoteIdstringOptional — from preview_swap_quote for explicit quote review before propose
sellSymbolstringyesHuman-readable symbol of sell token, e.g. USDC
sellTokenAddressstringyesToken contract address to sell (0x…)
slippagePercentnumberOptional slippage tolerance 0–50 (default 0.5)

No output schema declared.

No examples provided.

propose_token_approve ~73

Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — call confirm_proposal before swap/bridge.

NameTypeReqDescription
flowstringyes
fromWalletIdstringyesEVM wallet id
tokenAddressstringyesToken to approve (0x…)

No output schema declared.

No examples provided.

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 35 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 72 tools: get_mcp_guide, list_wallets, list_recipients, list_audit_log, get_fusion_order_status, and 67 more. Their descriptions and schemas cost roughly 6,841 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 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.