fortfi-treasury-mcp
Subscription-gated MCP treasury for AI agents Subscribe: POST /api/mcp/onboard with x402 USDC on Base ($49 personal / $499 startup) → receive frtfiag API key…
Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeCan modify data
What it can do
- Get Mcp Guide: 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 t
- List Wallets: List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match).
- List Recipients: List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate).
What data it sees
Do you need an account
An API key from the service settings is required
Subscription-gated MCP treasury for AI agents
Subscribe: POST /api/mcp/onboard with x402 USDC on Base ($49 personal / $499 startup) → receive frtfi_ag_* API key
Connect: POST /api/mcp JSON-RPC with Authorization: Bearer
50+ policy-gated tools: multi-chain balances, allowlisted transfers, cross-chain swaps & bridges, yield markets, token discovery, payment requests, co-sign governance, audit log
- Docs: https://fortfiapp.com/agents
- REST API: https://fortfiapp.com/developers/rest-api
- x402 listing: https://tryponcho.com/m/fortfiapp.com
Server tool list (50)
Raw names from tools/list. Only developers need these.
| get_mcp_guide | 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). |
| list_wallets | List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match). |
| list_recipients | List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate). |
| list_audit_log | Recent account activity: transfers, swaps, security events. |
| get_policy_limits | Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts include billingPlan (personal|startup), billingPlanName, maxWallets, tier, and subscription expiry. |
| resend_claim_link | Resend 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_agents | 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). |
| list_cosigner_memberships | Active co-signers on this account. |
| get_cosigner_rules | Amount-banded cosigner quorum rules for sends and swaps. Below-band amounts auto-execute; matching bands require N cosigner votes. |
| update_cosigner_rules | Set 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 immediately once signed (same as passkey in the UI). Amounts use USDC micro-units (1 USDC = 1000000). |
| list_pending_cosigner_approvals | Pending actions that require this account's co-signer approval. Use when this agent is a co-signer on another account. |
| add_recipient | Add a new payout address to the allowlist. GOVERN action: when called with an agent API key, you must sign a challenge with your funding wallet (call once to get the challenge, sign it, call again with challengeId + walletSignature). Once signed the recipient is approved immediately (no cooldown). |
| approve_recipient | 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). |
| propose_transfer | Transfer USDC to an allowlisted recipient. The recipient must be approved (no active cooldown). Rejected with POLICY_LIMIT_EXCEEDED if above tier limits. Rejected with RECIPIENT_NOT_APPROVED if in cooldown. |
| invite_agent_cosigner | Add another FortFi agent (by their userId) as a co-signer on your account. GOVERN action: when called with an agent API key, sign a challenge with your funding wallet (challengeId + walletSignature). Use this to create multi-agent treasury approval workflows. |
| approve_cosigner_action | Approve a pending action as co-signer. Use with list_pending_cosigner_approvals. |
| reject_cosigner_action | Reject a pending action as co-signer. |
| get_portfolio | Full portfolio summary across all wallets: token balances with USD values, 24h change, and total net worth. |
| get_account_holdings | Token holdings for a specific wallet, with USD values and 24h change. |
| discover_tokens | Market-wide token discovery on a FortFi chain (USD). Use for trending/gainers/volume/mcap — NOT the browser Explore REST route. Sorts: gainers_1d, gainers_30d, gainers_90d, market_cap, volume_1d. Returns contract addresses for propose_swap / propose_bridge. |
| get_swap_routing_guide | Returns which swap/bridge tool to use for a given from→to chain pair, with notes on protocols supported. |
| list_token_spender_grants | List 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_invites | 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. |
| accept_cosigner_invite | Accept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account. |
| remove_cosigner | Remove 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_wallet | Register (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); applies immediately once signed. Max one backup. |
| remove_backup_governance_wallet | Remove 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_requests | List open governance requests on this account: pending (awaiting signature) and legacy scheduled rows. Use to monitor for unexpected loosening attempts. |
| cancel_governance_change | 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. |
| revoke_cosigner_invite | Revoke a pending outbound co-signer invite before it is accepted. |
| cancel_pending_action | Cancel a pending approval that you (the account owner) initiated. |
| propose_rename_account | Rename a wallet (account nickname). Confirm via POST /api/mcp/confirm with the returned proposalId. |
| propose_create_account | Create a new wallet on a supported chain. Optional metadata tags (e.g. customer_id). Confirm via POST /api/mcp/confirm. Agent accounts execute server-side when no cosigners are configured. |
| update_wallet_metadata | Set metadata tags on a wallet (flat string key/value pairs; replaces existing tags). Not a money-moving action. |
| preview_swap_quote | 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. |
| preview_bridge_quote | 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. |
| check_trade_allowance | 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. |
| propose_token_approve | Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — confirm via POST /api/mcp/confirm before swap/bridge. |
| propose_swap | 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. |
| propose_solana_swap | Propose a Solana Jupiter swap. Autonomous agents: inline quote by default, or previewQuoteId for two-step review. confirm signs the bound quote. |
| propose_bridge | Propose a Fusion+ or deBridge transfer. Autonomous agents: inline quote by default, or previewQuoteId from preview_bridge_quote for two-step review. |
| list_yield_markets | Morpho yield vaults by chain — APY, TVL. Use before propose_yield_deposit. |
| list_yield_positions | User's Morpho yield positions from FortFi history. |
| propose_yield_deposit | Propose Morpho vault deposit (real on-chain tx after confirm + passkey). Use list_yield_markets for vaultAddress. |
| propose_yield_withdraw | Propose Morpho vault withdraw (confirm + passkey). Use list_yield_positions for vaultAddress. |
| create_payment_request | Create a shareable payment request for a vault. Returns pid, paymentUrl, and qrPayload for humans or agents. |
| get_payment_request | Get a payment request by internal id or public pid, including settlement attempts. |
| list_payment_requests | List payment requests for the authenticated account. |
| cancel_payment_request | Cancel an open payment request with no verified settlement. |
| extend_payment_request | Extend an open payment request expiry (default extension window in days). |