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 toolsRead 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. 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… 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.
approve_cosigner_action
pendingApprovalId*
Approve a pending action as co-signer. Use with list_pending_cosigner_approvals. 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-… 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).
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… 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.
cancel_payment_request
idOrPid*
Cancel an open payment request with no verified settlement. Cancel an open payment request with no verified settlement.
cancel_pending_action
pendingApprovalId*
Cancel a pending approval that you (the account owner) initiated. 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… 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.
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… 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.
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 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.
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 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.
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… 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 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 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… 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.
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. 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,… 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.
extend_payment_request
idOrPid*expiryDays*
Extend an open payment request expiry (default extension window in days). 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. 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. 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… 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.
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 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).
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… 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, percentile, and a long/short/hold bucket at the requested leg count. Core perps only (HIP-3 builder markets are excluded and not tradeable). Read-only; never creates proposals.
get_hyperliquid_market
symbol*interval
Get a Hyperliquid perp market by symbol with mark/funding context and optional candle history. 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… 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.
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). 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,… 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).
get_payment_product
idslug
Get a payment product by internal id or public slug. 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 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… Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts include billingPlan (personal|startup), billingPlanName, maxWallets, tier, and subscription expiry.
get_polymarket_market
tokenIdintervalconditionId*
Get a Polymarket market by conditionId with optional outcome price history from the public CLOB API. 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. 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. 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. 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… 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.
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… 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.
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. 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… 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.
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 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_cosigner
emailnicknamechallengeIdcosignerUserIdwalletSignature
Alias of invite_agent_cosigner. Humans: email → Security UI. Agents: cosignerUserId. 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… Treasury 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).
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… 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 string on the first call) to switch the response to { items, nextCursor } and page back through full history instead of only the most recent entries.
list_cosigner_memberships
Active co-signers on this account. 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 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 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 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 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 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 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 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 registered webhook endpoints (secrets are never returned).
list_payment_products
List persistent product checkout links for the account. 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. 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 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. 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. 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 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 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 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 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 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 for the plain array of all wallets.
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… 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.
list_yield_positions
User's Morpho yield positions from FortFi history. 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. 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. 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… 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… 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.
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 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.
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… 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.
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 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 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 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 opening a Hyperliquid perp position. Runs FortFi perp policy (max leverage, max notional) and rejects non-hyperliquid-mainnet wallets. Returns a proposalId for confirm_proposal.
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 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 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. 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 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 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 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). 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. 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 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 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_token_approve
flow*fromWalletId*tokenAddress*
Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — call confirm_proposal before swap/bridge. 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… Transfer 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 server-side when configured).
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 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. 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 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 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;… 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; standard charts 10 over day+month+3months+year; deep charts 20 and requires explicit opt-in. Returns evidence for user review and never creates a proposal.
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… 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 evidence requests concurrently and never creates a proposal.
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… 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.
reject_cosigner_action
reasonpendingApprovalId*
Reject a pending action as co-signer. 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 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.
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 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.
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… 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 app so the enclave matches.
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. 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. 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. 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 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. 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. 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… 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, and cross-chain deduplication. Returns no proposal.
search_credentials
limitqueryaccesscursorstatuswalletId
+4
Parent-treasury key-centric credential search (treasury credential + keys:manage + wallets:read). Complements search_vaults. Never returns raw bearer keys. 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 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… Parent-treasury vault inventory search (treasury credential + keys:manage + wallets:read). Matches nicknames, wallet IDs, addresses, external customer IDs, credential names, and prefixes. Never returns raw bearer keys.
send_merchant_webhook_test
endpointId*
Send a signed webhook.test event to an endpoint. 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… 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).
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. 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. 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. 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*