FortFi Treasury MCP
REMOTE · FORTFIAPP.COM · SCANNED AUG 3
Policy-gated MCP treasury for AI agents — x402 subscribe, 50+ tools, multi-chain.
Available components
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 →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- 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. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 5132 tokens (~86/item across 59 items; 59 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 81% of tool parameters carry a description.Partial
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · fortfiapp.com
claude mcp add --transport http rebelartists-fortfi-treasury-mcp https://fortfiapp.com/api/mcp
[mcp_servers.rebelartists-fortfi-treasury-mcp] url = "https://fortfiapp.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"rebelartists-fortfi-treasury-mcp": {
"type": "remote",
"url": "https://fortfiapp.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add rebelartists-fortfi-treasury-mcp --url https://fortfiapp.com/api/mcp --transport streamable-http
mcp_servers:
rebelartists-fortfi-treasury-mcp:
url: "https://fortfiapp.com/api/mcp" {
"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.
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.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- 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 +1
- 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 +43
- 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 Tool coverage: 81 functional
- First check of Schema quality: good functional
- 27 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
- 26 Jul 26 16
First indexed and scored.
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 3 Aug 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 |
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=() |
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 |
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.
accept_cosigner_invite ~54
Accept a pending co-signer invite. After accepting, you will be able to approve/reject pending actions for that account.
| Name | Type | Req | Description |
|---|---|---|---|
| inviteId | string | yes | Invite 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Wallet address (0x… or Solana base58) |
| chainId | string | yes | FortFi chain id, e.g. base-mainnet, ethereum-mainnet, solana-mainnet |
| challengeId | string | — | Agent GOVERN: challengeId from the first call |
| nickname | string | — | Optional display name |
| walletSignature | string | — | Agent 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.
| Name | Type | Req | Description |
|---|---|---|---|
| pendingApprovalId | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | Governance challengeId from the first call |
| recipientId | string | yes | Recipient id from list_recipients or add_recipient |
| walletSignature | string | — | Funding-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.
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| idOrPid | string | yes | — |
No output schema declared.
No examples provided.
cancel_pending_action ~47
Cancel a pending approval that you (the account owner) initiated.
| Name | Type | Req | Description |
|---|---|---|---|
| pendingApprovalId | string | yes | Pending 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.
| Name | Type | Req | Description |
|---|---|---|---|
| flow | string | yes | cow_swap = CoW VaultRelayer; fusion_bridge = 1inch Limit Order |
| fromWalletId | string | yes | Source EVM wallet id |
| requiredAmountSmallest | string | yes | Required allowance in token smallest units (e.g. USDC 6 decimals) |
| tokenAddress | string | yes | Sell token contract (0x…) |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountSmallestUnit | string | — | USDC amount in smallest units (alternative to amountUsd) |
| amountUsd | number | — | Invoice amount in USD (1 USD = 1 USDC) |
| description | string | — | Optional invoice note |
| expiryDays | number | — | Days until expiry (default 30) |
| externalReference | string | — | Optional external invoice id |
| metadata | object | — | Optional metadata object |
| walletMappingId | string | yes | Target 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.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | Unique key (8–200 chars) — same key + body replays the job |
| items | array | yes | Up 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.
| Name | Type | Req | Description |
|---|---|---|---|
| access | string | yes | — |
| agentPublicKey | string | — | Optional uncompressed P-256 public key (04… hex) for ECDSA auth |
| expiresAt | string | — | ISO-8601 expiry (optional) |
| name | string | yes | Credential label (2–100 chars) |
| vaultGrants | array | yes | Explicit wallet grants with optional USD micro caps |
No output schema declared.
No examples provided.
discover_tokens ~189
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.
| Name | Type | Req | Description |
|---|---|---|---|
| chainId | string | yes | FortFi chain id, e.g. base-mainnet, ethereum-mainnet |
| limit | number | — | Max results (default 10, max 25) |
| query | string | — | Optional name/symbol filter, e.g. 'USDC' or 'wrapped' |
| sort | string | — | Explore sort: gainers_1d, gainers_30d, gainers_90d, market_cap, volume_1d (default market_cap) |
| verifiedOnly | boolean | — | Only verified tokens |
No output schema declared.
No examples provided.
extend_payment_request ~48
Extend an open payment request expiry (default extension window in days).
| Name | Type | Req | Description |
|---|---|---|---|
| expiryDays | number | yes | New expiry horizon from now (1-365) |
| idOrPid | string | yes | — |
No output schema declared.
No examples provided.
get_account_holdings ~40
Token holdings for a specific wallet, with USD values and 24h change.
| Name | Type | Req | Description |
|---|---|---|---|
| walletId | string | yes | Wallet 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_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).
| Name | Type | Req | Description |
|---|---|---|---|
| topic | string | — | Default 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.
| Name | Type | Req | Description |
|---|---|---|---|
| idOrPid | string | yes | Internal 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.
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | Job 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.
| Name | Type | Req | Description |
|---|---|---|---|
| fromChainId | string | yes | Source chain id |
| toChainId | string | yes | Destination chain id |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | Governance challengeId from the first call |
| cosignerUserId | string | — | Agent path: FortFi userId of the agent to invite as co-signer |
| string | — | Human path: invitee email for Security UI co-signer provision | |
| nickname | string | — | Optional nickname for this co-signer |
| walletSignature | string | — | Funding-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.
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | — |
| cosignerUserId | string | — | — |
| string | — | — | |
| nickname | string | — | — |
| walletSignature | string | — | — |
No output schema declared.
No examples provided.
list_audit_log ~40
Recent account activity: transfers, swaps, security events.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max 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.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | — | — |
| walletMappingId | string | — | Optional 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max 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).
| Name | Type | Req | Description |
|---|---|---|---|
| metadataKey | string | — | Filter wallets that include this metadata key (optional) |
| metadataValue | string | — | When set with metadataKey, require an exact value match |
No output schema declared.
No examples provided.
list_yield_markets ~175
Open Morpho yield discovery by chain — APY, TVL (not limited to curated allowlist). Default: sort by net APY, min TVL $1M. Pass verifiedOnly:true for curated-only. Use before propose_yield_deposit.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | — | Asset symbol filter, default USDC |
| chainId | string | — | FortFi chain id or omit for all yield chains |
| limit | number | — | Max vaults (default 15, max 25) |
| minTvlUsd | number | — | Minimum vault TVL in USD (default 1000000) |
| sortBy | string | — | net_apy (default) or tvl |
| verifiedOnly | boolean | — | If 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.
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | — |
| buySymbol | string | yes | — |
| fromWalletId | string | yes | — |
| sellSymbol | string | yes | — |
| toWalletId | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | Approximate sell amount in USD |
| buyMint | string | — | Solana buy mint — omit for EVM |
| buySymbol | string | yes | — |
| buyTokenAddress | string | — | EVM buy token (0x…) — omit for Solana |
| fromWalletId | string | yes | Source wallet id |
| sellMint | string | — | Solana sell mint — omit for EVM |
| sellSymbol | string | yes | — |
| sellTokenAddress | string | — | EVM sell token (0x…) — omit for Solana |
| slippagePercent | number | — | Optional Jupiter slippage 0–50 |
| toWalletId | string | — | Optional Solana receive wallet |
No output schema declared.
No examples provided.
propose_bridge ~160
Propose a Fusion+ or deBridge transfer. Autonomous agents: inline quote by default, or previewQuoteId from preview_bridge_quote for two-step review.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | Bridge amount in USD |
| buySymbol | string | yes | Buy token symbol |
| buyTokenAddress | string | yes | Token to receive (0x…, use same asset if bridging stable) |
| fromWalletId | string | yes | Source wallet id |
| previewQuoteId | string | — | Optional — from preview_bridge_quote for explicit quote review before propose |
| sellSymbol | string | yes | Sell token symbol |
| sellTokenAddress | string | yes | Token to bridge out (0x…) |
| toWalletId | string | yes | Destination wallet id (different chain) |
No output schema declared.
No examples provided.
propose_create_account ~124
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.
| Name | Type | Req | Description |
|---|---|---|---|
| chainId | string | yes | FortFi chain id, e.g. base-mainnet, solana-mainnet |
| metadata | object | — | Optional flat string tags (max 20 keys), e.g. { "customer_id": "cust_123" } |
| walletName | string | yes | Display name for the new wallet (2–64 chars) |
No output schema declared.
No examples provided.
propose_rename_account ~60
Rename a wallet (account nickname). Confirm via POST /api/mcp/confirm with the returned proposalId.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Wallet id from list_wallets |
| nickname | string | yes | New 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | Sell amount in USD |
| buyMint | string | yes | Mint address of token to buy |
| buySymbol | string | yes | Human-readable buy symbol |
| fromWalletId | string | yes | Solana wallet id to sell from |
| previewQuoteId | string | — | Optional — from preview_swap_quote for explicit quote review before propose |
| sellMint | string | yes | Mint address of token to sell |
| sellSymbol | string | yes | Human-readable sell symbol |
| slippagePercent | number | — | Optional slippage tolerance 0–50 (default 0.5) |
| toWalletId | string | yes | Solana 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | Sell amount in USD |
| buySymbol | string | yes | Human-readable symbol of buy token, e.g. ETH |
| buyTokenAddress | string | yes | Token contract address to buy (0x…) |
| fromWalletId | string | yes | Source wallet id (must be EVM, CoW-supported chain) |
| previewQuoteId | string | — | Optional — from preview_swap_quote for explicit quote review before propose |
| sellSymbol | string | yes | Human-readable symbol of sell token, e.g. USDC |
| sellTokenAddress | string | yes | Token contract address to sell (0x…) |
| slippagePercent | number | — | Optional slippage tolerance 0–50 (default 0.5) |
No output schema declared.
No examples provided.
propose_token_approve ~78
Propose max ERC-20 approval for CoW or Fusion spenders. Returns proposalId — confirm via POST /api/mcp/confirm before swap/bridge.
| Name | Type | Req | Description |
|---|---|---|---|
| flow | string | yes | — |
| fromWalletId | string | yes | EVM wallet id |
| tokenAddress | string | yes | Token to approve (0x…) |
No output schema declared.
No examples provided.
propose_transfer ~130
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.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsdc | string | yes | Amount in USDC as a decimal string, e.g. '5.00' for $5 USDC |
| fromWalletId | string | yes | Source wallet id from list_wallets |
| memo | string | — | Optional transfer note (max 256 chars) |
| recipientId | string | yes | Recipient id from list_recipients |
No output schema declared.
No examples provided.
propose_yield_deposit ~127
Propose Morpho vault deposit. Confirm via POST /api/mcp/confirm — with Delegated Access / agent key this executes server-side (no Assist passkey). Use list_yield_markets for vaultAddress.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | string | yes | USDC amount e.g. 100.00 |
| assetSymbol | string | — | — |
| fromAccountQuery | string | — | Wallet nickname (alternative to fromWalletId) |
| fromWalletId | string | — | FortFi wallet id |
| vaultAddress | string | yes | Morpho vault contract (0x…) |
No output schema declared.
No examples provided.
propose_yield_withdraw ~100
Propose Morpho vault withdraw. Confirm via POST /api/mcp/confirm — with Delegated Access executes server-side (no Assist passkey). Use list_yield_positions for vaultAddress.
| Name | Type | Req | Description |
|---|---|---|---|
| amountDisplay | string | yes | — |
| assetSymbol | string | — | — |
| fromAccountQuery | string | — | — |
| fromWalletId | string | — | — |
| vaultAddress | string | yes | — |
| vaultName | string | — | — |
No output schema declared.
No examples provided.
register_backup_governance_wallet ~121
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.
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | Governance challengeId from the first call |
| walletAddress | string | yes | The backup wallet address (0x…) to register |
| walletSignature | string | — | CURRENT funding-wallet signature over the challenge message |
No output schema declared.
No examples provided.
reject_cosigner_action ~38
Reject a pending action as co-signer.
| Name | Type | Req | Description |
|---|---|---|---|
| pendingApprovalId | string | yes | — |
| reason | string | — | Optional rejection reason |
No output schema declared.
No examples provided.
remove_backup_governance_wallet ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | Governance challengeId from the first call |
| walletSignature | string | — | Funding-wallet signature over the challenge message |
No output schema declared.
No examples provided.
remove_cosigner ~100
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.
| Name | Type | Req | Description |
|---|---|---|---|
| challengeId | string | — | Governance challengeId from the first call |
| membershipId | string | yes | Membership id from list_cosigner_memberships |
| walletSignature | string | — | Funding-wallet signature over the challenge message |
No output schema declared.
No examples provided.