mcpserver.lol
registry/fortfi-treasury-mcp
Connection check verified live · 27h ago

fortfi-treasury-mcp

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

Tools 112
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 27h ago

Tools & capabilities

112 tools

Read from the running server on 27h ago.

accept_cosigner_invite inviteId*
Accept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account.
add_recipient address*chainId*nicknamechallengeIdwalletSignature
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…
approve_cosigner_action pendingApprovalId*
Approve a pending action as co-signer. Use with list_pending_cosigner_approvals.
approve_recipient challengeIdrecipientId*walletSignature
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-…
cancel_governance_change challengeId*
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 schedul…
cancel_payment_request idOrPid*
Cancel an open payment request with no verified settlement.
cancel_pending_action pendingApprovalId*
Cancel a pending approval that you (the account owner) initiated.
check_trade_allowance flow*fromWalletId*tokenAddress*requiredAmountSmallest*
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 t…
confirm_proposal proposalId*confirmToken
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. Retu…
create_checkout_session chainIdcustomer*metadataamountUsdreferencedescription +4
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 ch…
create_customer wallet*namespacecredentialclientRequestId*externalCustomerId*
Create or sync one customer vault synchronously (treasury + wallets:write). Idempotent on externalCustomerId + namespace + chain. Returns wallet address immediately; Turnkey wallet…
create_merchant_webhook url*description
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…
create_payment_product name*slugimageUrlamountUsddescriptionmerchantSiteUrl +3
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.
create_payment_request metadataamountUsdexpiryDaysdescriptionwalletMappingId*externalReference +1
Create a shareable payment request for a vault. Returns pid, paymentUrl, and qrPayload for humans or agents.
create_provisioning_job items*idempotencyKey*
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…
create_vault_credential name*access*expiresAtvaultGrants*agentPublicKey
Mint a vault-scoped credential for an existing wallet (treasury + keys:manage). Returns bearerKey once when agentPublicKey is omitted. Requires FORTFI_VAULT_CREDENTIALS_ENABLED.
discover_tokens sortlimitquerychainId*verifiedOnly
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,…
extend_payment_request idOrPid*expiryDays*
Extend an open payment request expiry (default extension window in days).
get_account_holdings walletId*
Token holdings for a specific wallet, with USD values and 24h change.
get_cosigner_rules
Amount-banded cosigner quorum rules for sends and swaps. Below-band amounts auto-execute; matching bands require N cosigner votes.
get_fusion_order_status orderHash*
Track an owned Fusion+ cross-chain order by orderHash. Returns authoritative settlement/refund status, source and destination transactions, receiver, and the real destination token…
get_hyperliquid_balances walletId*
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 pos…
get_hyperliquid_cross_section bandlimitlegsPerSidelookbackDaysminDayVolumeUsd
Rank the whole Hyperliquid core perp universe by trailing return in one call, for a dollar-neutral long/short book. Returns per-symbol trailing returns, realized vol, funding, rank…
get_hyperliquid_market symbol*interval
Get a Hyperliquid perp market by symbol with mark/funding context and optional candle history.
get_hyperliquid_trading_desk walletId*fillLimit
One-shot Hyperliquid trading desk snapshot for agent loops: margin, balances, positions, open orders, recent fills, and a `performance` block with unrealizedPnlUsd, unrealizedPnlPc…
get_hyperliquid_user_fills limitwalletId*
Recent Hyperliquid trade fills with closedPnl per fill. Use for P&L review and trade history (up to 2000 from HL).
get_mcp_guide topic
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,…
get_payment_product idslug
Get a payment product by internal id or public slug.
get_payment_request idOrPid*
Get a payment request by internal id or public pid, including settlement attempts.
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 e…
get_polymarket_market tokenIdintervalconditionId*
Get a Polymarket market by conditionId with optional outcome price history from the public CLOB API.
get_portfolio
Full portfolio summary across all wallets: token balances with USD values, 24h change, and total net worth.
get_provisioning_job jobId*
Poll a bulk provisioning job (treasury + keys:manage + wallets:read). bearerKey appears once when secretsDelivery is revealed.
get_swap_routing_guide toChainId*fromChainId*
Returns which swap/bridge tool to use for a given from→to chain pair, with notes on protocols supported.
get_token_chart periodaddresschainId*fungibleIdindicatorsincludePoints
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 includePo…
get_treasury_context
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 mo…
get_usage_balance
Monthly UpTo product balance: cap, used, remaining, and period bounds. Billable writes consume this pool; unused budget is refunded at period end.
get_yield_market_detail apyDayschainId*tvlDaysvaultAddress*
Evidence for one Morpho vault: current net APY/TVL, historical APY and TVL series, period averages/volatility/drawdown, quality flags, allocation, separated eligibility/readiness s…
invite_agent_cosigner emailnicknamechallengeIdcosignerUserIdwalletSignature
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 provisio…
invite_cosigner emailnicknamechallengeIdcosignerUserIdwalletSignature
Alias of invite_agent_cosigner. Humans: email → Security UI. Agents: cosignerUserId.
list_activity_report categorywalletId
Treasury activity timeline (JSON) for reconciliation: normalized labels, USD hints, vault scope, and categories. Optional walletId narrows to one vault. Requires reporting:read (or…
list_audit_log limitcursorwalletId
Recent account activity: transfers, swaps, security events. Optional walletId filters to one vault's history. Pass cursor (from a previous page's nextCursor, even as an empty strin…
list_cosigner_memberships
Active co-signers on this account.
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_governance_requests
List open governance requests on this account: pending (awaiting signature) and legacy scheduled rows. Use to monitor for unexpected loosening attempts.
list_hyperliquid_markets limitoffsetsearch
List Hyperliquid perpetual markets with live mark/mid/oracle prices, funding, open interest, and 24h volume. Public data; no proposal.
list_hyperliquid_open_orders walletId*
List resting Hyperliquid orders including SL/TP triggers for a wallet.
list_hyperliquid_positions walletId*
List open Hyperliquid perp positions and margin summary for a hyperliquid-mainnet wallet (its address is used on the L1 order book).
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.
list_merchant_webhook_deliveries limitstatusendpointIdpaymentRequestId
List webhook delivery log. Use status=failed for dead-letter queue rows. Filter by paymentRequestId to find deliveries for one checkout.
list_merchant_webhooks
List registered webhook endpoints (secrets are never returned).
list_payment_products
List persistent product checkout links for the account.
list_payment_purchases limitwalletMappingId
Buyer view: FortFi checkouts your vaults paid (what you bought). Matches settlements by payer wallet address across your fleet.
list_payment_requests statuswalletMappingId
List payment requests for the authenticated account.
list_payment_sales walletMappingId
Merchant view: paid and partially paid invoices on your collection vaults (what you sold). Includes payer, method, and settlement details.
list_pending_cosigner_approvals limit
Pending actions that require this account's co-signer approval. Use when this agent is a co-signer on another account.
list_polymarket_markets limitsearchsortByafterCursorsortDirectionminLiquidityUsd
List active Polymarket prediction markets on Polygon with volume, liquidity, and outcome prices.
list_polymarket_positions walletId*
List Polymarket outcome token positions for a Polygon wallet. walletId is required.
list_recipients
List all allowlisted recipients. Includes cooldown status: `cooldownActive: true` means the recipient cannot yet receive funds (24-hour gate).
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_wallets limitcursormetadataKeymetadataValue
List FortFi wallets for this account: chain, address, nickname, metadata tags, and default flag. Optional metadataKey/metadataValue filter (exact match). Pass cursor and/or limit t…
list_yield_markets assetlimitsortBychainIdminTvlUsdverifiedOnly
Open Morpho yield discovery by chain with discovered, policyEligible, manuallyCurated, executionReady, and eligibilityReasons. Default minimum TVL is $500K everywhere (listing, pol…
list_yield_positions
User's Morpho yield positions from FortFi history.
pay_payment_request_x402 fromWalletId*paymentRequestPid*
Pay an open FortFi invoice via x402 EIP-3009 from a governed Turnkey vault. Requires Delegated Access on human developer keys or an agent account. Base mainnet first.
plan_rebalance targets*minLegUsddriftThresholdPercent
Read-only rebalance planner toward target weights. Returns suggested legs (swap, yield_deposit, yield_withdraw) without executing. Use propose_* + confirm_proposal to act.
preview_bridge_quote amountUsd*buySymbol*sellSymbol*toWalletId*fromWalletId*
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…
preview_swap_quote buyMintsellMintamountUsd*buySymbol*sellSymbol*toWalletId +4
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 ca…
propose_bridge amountUsd*buySymbol*sellSymbol*toWalletId*fromWalletId*previewQuoteId +2
Propose a Fusion+ or deBridge cross-chain swap. FortFi resolves chain-specific verified token contracts from sellSymbol/buySymbol; optional token addresses are mismatch assertions,…
propose_create_account chainId*metadatawalletName*
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 whe…
propose_hyperliquid_deposit walletId*amountUsd*
Propose moving HyperEVM USDC into Hyperliquid L1 perp margin (top up). Returns proposalId; human confirms via Perps Top up or confirm_proposal.
propose_hyperliquid_perp_close sizesymbol*walletId*
Propose closing a Hyperliquid perp position (reduce-only). Omit size to close the whole position. Returns a proposalId for confirm_proposal.
propose_hyperliquid_perp_modify symbol*stopLosswalletId*takeProfit
Propose modifying a Hyperliquid perp position's protective stop-loss / take-profit (reduce-only). Returns a proposalId for confirm_proposal.
propose_hyperliquid_perp_open side*sizesymbol*sizeUsdleveragestopLoss +2
Propose opening a Hyperliquid perp position. Runs FortFi perp policy (max leverage, max notional) and rejects non-hyperliquid-mainnet wallets. Returns a proposalId for confirm_prop…
propose_hyperliquid_spot_to_perp walletId*amountUsd*
Propose moving USDC from HL Spot into perps tradable margin (required after MoonPay HyperCore on-ramp). Returns proposalId; human confirms via Perps Top up or confirm_proposal.
propose_hyperliquid_withdraw walletId*amountUsd*
Propose withdrawing Hyperliquid L1 USDC margin back to HyperEVM (cash out). Returns proposalId; human confirms via Perps Cash out or confirm_proposal.
propose_payout_manifest lines*dryRunfromWalletId*
Execute a validated payout manifest sequentially (one ActionIntent per line). Requires Delegated Access or agent wallet. Set dryRun:true to validate only.
propose_polymarket_buy price*conditionId*sizeDisplay*fromWalletIdoutcomeIndex*fromAccountQuery
Propose buying Polymarket outcome shares, then call confirm_proposal. Requires Polygon wallet.
propose_polymarket_redeem conditionId*fromWalletIdoutcomeIndexfromAccountQuery
Propose redeeming winning shares from a resolved Polymarket market (CTF on Polygon), then call confirm_proposal.
propose_polymarket_sell price*conditionId*sizeDisplay*fromWalletIdoutcomeIndex*fromAccountQuery
Propose selling Polymarket outcome shares (redeem collateral), then call confirm_proposal.
propose_recipient_manifest recipients*
Apply a validated recipient manifest (human/developer key). Adds new allowlist rows with normal 24h cooldown. Agent keys: use add_recipient per row (GOVERN).
propose_rename_account nickname*accountId*
Rename a wallet (account nickname), then call confirm_proposal with the returned proposalId.
propose_solana_swap buyMint*sellMint*amountUsd*buySymbol*sellSymbol*toWalletId* +3
Propose a Solana Jupiter swap. Autonomous agents: inline quote by default, or previewQuoteId for two-step review. confirm signs the bound quote.
propose_swap amountUsd*buySymbol*sellSymbol*fromWalletId*previewQuoteIdbuyTokenAddress* +2
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 t…
propose_token_approve flow*fromWalletId*tokenAddress*
Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — call confirm_proposal before swap/bridge.
propose_transfer memoamountUsdcrecipientIdfromWalletId*paymentRequestPid
Transfer USDC to an allowlisted recipient, OR pay a FortFi invoice by public pid (paymentRequestPid + fromWalletId — amount optional for partial pay). Recipient path requires allow…
propose_yield_deposit amountUsd*assetSymbolfromWalletIdvaultAddress*fromAccountQuery
Propose 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_withdraw vaultNameassetSymbolfromWalletIdvaultAddress*amountDisplay*fromAccountQuery
Propose Morpho vault withdraw, then call confirm_proposal. With Delegated Access this executes server-side when policy permits. Use list_yield_positions for vaultAddress.
rank_hyperliquid_markets sortlimitdirection
Rank Hyperliquid perp markets by 24h volume, pctChange, or funding. Cheap filter only — use screen_hyperliquid_markets for breakout TA.
rank_polymarket_markets limitsortBy
Rank Polymarket markets by volume, liquidity, or 24h volume.
rank_tokens modesortschains*periodsdeepOptInverifiedOnly +5
Two-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;…
rank_yield_markets assetlimitapyDayschainIdtvlDaysminTvlUsd
Batch-rank Morpho markets using current net APY, APY average/range/volatility, TVL trend/drawdown, vault age, curation, warnings, and current-user execution eligibility. Runs evide…
register_backup_governance_wallet challengeIdwalletAddress*walletSignature
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. GOVE…
reject_cosigner_action reasonpendingApprovalId*
Reject a pending action as co-signer.
remove_backup_governance_wallet challengeIdwalletSignature
Remove the registered backup governance wallet. GOVERN action: sign with your funding wallet (challengeId + walletSignature); applies immediately once signed. After removal, only t…
remove_cosigner challengeIdmembershipId*walletSignature
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 + walletSignatur…
remove_recipient recipientId*
Remove 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 ap…
replay_merchant_webhook_delivery deliveryId*
Replay a dead-lettered or failed webhook delivery after fixing your endpoint. Re-sends the same event id and body for idempotent handlers.
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.
review_portfolio targetsminLegUsddriftThresholdPercent
Read-only treasury review: allocation buckets (cash, yield, tokens), top holdings, and optional drift vs target weights. Safe for cron — no proposals created.
revoke_cosigner_invite inviteId*
Revoke a pending outbound co-signer invite before it is accepted.
revoke_vault_credential credentialId*
Revoke a vault-scoped credential (treasury + keys:manage). Idempotent if already revoked.
screen_hyperliquid_markets sortlimitintervalsideBiasdirectionchartLimit +3
Breakout screener for Hyperliquid perps: min volume filter, rank, HL candle TA (RSI, MACD, Bollinger). Returns long/short/neutral bias. Never creates proposals.
screen_tokens modesortschains*deepOptInverifiedOnlycandidateLimit +3
Batch 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, an…
search_credentials limitqueryaccesscursorstatuswalletId +4
Parent-treasury key-centric credential search (treasury credential + keys:manage + wallets:read). Complements search_vaults. Never returns raw bearer keys.
search_polymarket_markets limitquery*
Search Polymarket markets by question text.
search_vaults limitquerycursorchainIdmetadataKeymetadataValue +3
Parent-treasury vault inventory search (treasury credential + keys:manage + wallets:read). Matches nicknames, wallet IDs, addresses, external customer IDs, credential names, and pr…
send_merchant_webhook_test endpointId*
Send a signed webhook.test event to an endpoint.
update_cosigner_rules rules*challengeIdwalletSignature
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 a…
update_vault_credential name*access*expiresAtvaultGrants*credentialId*
Atomically replace a vault credential's name, access mode, grants, and expiry (treasury + keys:manage). Revoked credentials cannot be updated.
update_wallet_metadata metadata*accountId*
Set metadata tags on a wallet (flat string key/value pairs; replaces existing tags). Not a money-moving action.
validate_payout_manifest lines*fromWalletId*
Preview batch payroll/payout (max 50 lines). Each line: { recipientId, amountUsdc, memo? }. All recipients must be allowlisted, same chain as fromWalletId, and past cooldown.
validate_recipient_manifest recipients*
Preview a batch recipient import (max 50 rows). Each row: { address, chainId, nickname? }. Returns ready_new, already_exists, or invalid per line. Read-only.