Connect-MCP

FortFi Treasury MCP

io.github.rebelArtists/fortfi-treasury-mcp · v1.0.0

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

MCPremoteAPI keyCrypto

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 133 tools, protocol 2024-11-05 · checked 2026-10-17

Test & rating

B 66/100

What it does: 133 tools · 61 read, 35 write (incl. delete/pay) · Crypto

Test call list_wallets: failed — HTTP 402 (930 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +6
  • Read/write annotations: 0
  • Safe test call: 0
  • More than 80 tools: -5

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://fortfiapp.com/api/mcp

Tools

133 tools listed at last check
  • 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).
  • 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 money-moving tools.
  • list_wallets 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 o
  • 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. 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
  • list_activity_report 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).
  • get_fusion_order_status 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_policy_limits Current policy limits: per-tx/daily/monthly caps (USDC smallest units). Agent accounts also include agent cap tier limits, maxWallets, and credential access expiry.
  • 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.
  • 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
  • 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 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.
  • remove_recipient 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.
  • approve_recipient Approve a recipient still in cooldown (early release). Active cosigners may approve directly. Human passkey owners: use the FortFi app (passkey) or the approval email link; owner bearer keys cannot self-clear. Agent-owned accounts: owner self-approval is GOVERN (funding-wallet signature).
  • validate_recipient_manifest Preview a batch recipient import (max 50 rows). Each row: { address, chainId, nickname? }. Returns ready_new, already_exists, or invalid per line. Read-only.
  • propose_recipient_manifest Apply a validated recipient manifest (human/developer key). Adds new allowlist rows with normal 24h cooldown. Agent keys: use add_recipient per row (GOVERN).
  • validate_payout_manifest Preview batch payroll/payout (max 50 lines). Each line: { recipientId, amountUsdc, memo? }. All recipients must be allowlisted, same chain as fromWalletId, and past cooldown.
  • propose_payout_manifest Execute a validated payout manifest sequentially (one ActionIntent per line). Requires Delegated Access or agent wallet. Set dryRun:true to validate only.
  • propose_transfer 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 conf
  • invite_agent_cosigner 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 Alias of invite_agent_cosigner. Humans: email → Security UI. Agents: cosignerUserId.
  • 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.
  • review_portfolio Read-only treasury review: allocation buckets (cash, yield, tokens), top holdings, and optional drift vs target weights. Safe for cron — no proposals created.
  • plan_rebalance Read-only rebalance planner toward target weights. Returns suggested legs (swap, yield_deposit, yield_withdraw) without executing. Use propose_* + confirm_proposal to act.
  • discover_tokens 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 ups
  • get_token_chart 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
  • screen_tokens 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.
  • rank_tokens 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
  • 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
  • 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), then call confirm_proposal with the returned proposalId.
  • propose_create_account 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.
  • confirm_proposal 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.
  • update_wallet_metadata Propose updating wallet metadata tags (flat string key/value pairs; replaces existing tags on confirm). Returns proposalId; call confirm_proposal to apply. 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 — call confirm_proposal 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 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.
  • list_yield_markets 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 adviso
  • list_yield_positions Active Morpho yield positions with per-vault valueUsd, earnedUsd (Morpho pnlUsd), netApy, and a summary block. summary.cumulativeEarnedUsd is the lifetime yield estimate from FortFi ledger cash flow: current value + total withdrawn − total deposited. Use at the start of every yield desk run to repor
  • get_yield_market_detail Evidence for one Morpho vault: current net APY/TVL, historical APY and TVL series, period statistics, quality flags, allocation, instant-withdrawal liquidity, separated eligibility/readiness status, and timestamp. Rank on evidence.apy.medianPercent: the raw series contains upstream artifacts (points
  • rank_yield_markets Batch-rank Morpho markets using current net APY, APY median/average/range/volatility, TVL trend/drawdown, vault age, curation, instant-withdrawal liquidity, warnings, and current-user execution eligibility. Results are ordered by current net APY, which is a spot rate that spikes: re-rank on evidence
  • propose_yield_deposit 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 Propose Morpho vault withdraw, then call confirm_proposal. With Delegated Access this executes server-side when policy permits. Use list_yield_positions for vaultAddress.
  • list_polymarket_markets List active Polymarket prediction markets on Polygon with volume, liquidity, and outcome prices.
  • search_polymarket_markets Search Polymarket markets by question text.
  • rank_polymarket_markets Rank Polymarket markets by volume, liquidity, or 24h volume.
  • get_polymarket_market Get a Polymarket market by conditionId with optional outcome price history from the public CLOB API.
  • list_polymarket_positions List Polymarket outcome token positions for a Polygon wallet. walletId is required.
  • propose_polymarket_buy Propose buying Polymarket outcome shares, then call confirm_proposal. Requires Polygon wallet.
  • propose_polymarket_sell Propose selling Polymarket outcome shares (redeem collateral), then call confirm_proposal.
  • propose_polymarket_redeem Propose redeeming winning shares from a resolved Polymarket market (CTF on Polygon), then call confirm_proposal.
  • list_hyperliquid_markets List Hyperliquid perpetual markets with live mark/mid/oracle prices, funding, open interest, and 24h volume. Public data; no proposal.
  • get_hyperliquid_market Get a Hyperliquid perp market by symbol with mark/funding context and optional candle history.
  • list_hyperliquid_symbol_master Security master for Hyperliquid perps: symbol, dex, desk label, short symbol, display name, asset class (crypto/equity/commodity/fx/index/pre_ipo), plus live volume and funding. Default scope=core; pass scope=all for HIP-3.
  • rank_hyperliquid_markets Rank Hyperliquid perp markets by 24h volume, pctChange, or funding. Returns dex + assetClass tags. Default scope=core; pass scope=all for HIP-3. Cheap filter only — use screen_hyperliquid_markets for breakout TA.
  • screen_hyperliquid_markets Breakout screener for Hyperliquid perps: min volume filter, rank, HL candle TA (RSI, MACD, Bollinger). Returns dex + assetClass tags and long/short/neutral bias. Default scope=core; scope=all for HIP-3. Never creates proposals.
  • get_hyperliquid_cross_section Rank a Hyperliquid perp universe by trailing return in one call, for a dollar-neutral long/short book. Returns dex, assetClass, trailing returns, realized vol, funding, rank, percentile, and long/short/hold buckets. Default scope=core (validated trend desk); pass scope=all for HIP-3 cross-asset book
  • run_hyperliquid_research_backtest Run an out-of-sample backtest on Hyperliquid perp OHLCV stored in FortFi research Postgres (hl_research_candles). Returns IS/OOS metrics and a pass/fail verdict. Read-only; uses synced historical data, not live HL API for bars. Strategies: momentum_cross (default).
  • run_hyperliquid_research_backtest_spec Run an out-of-sample backtest from a Strategy Spec JSON (universe + rank factor or named pattern + portfolio rules). Deterministic; reads hl_research_* Postgres. Agent should translate natural-language strategy ideas into the spec object before calling. Pass presetId instead of spec to get a FortFi
  • get_hyperliquid_research_data_stats Row counts and last ingest time for hl_research_* tables (candles, funding, symbols). Use before backtests to confirm data freshness.
  • list_strategy_presets List FortFi autonomous Hyperliquid strategies (house presets) with their published backtest: out-of-sample return, Sharpe and drawdown at 1x, walk-forward windows, every leverage scenario, tested leverage (start_strategy accepts these), high-risk leverage (owner passkey only), and the minimum accoun
  • list_strategies List strategies running on your Hyperliquid accounts (presets and copy trades): status, leverage, cap, next rebalance, and whether an API key started it. Stopped strategies are hidden unless includeStopped is true.
  • get_strategy Get one strategy with its last 20 runs (each run lists the orders it placed and their result).
  • list_copy_trade_leaders Top Hyperliquid accounts by profit over a window (week, month, allTime), from Hyperliquid's public leaderboard. Only accounts over $25k that traded this month and are profitable all-time. Use get_copy_trade_wallet before copying one.
  • get_copy_trade_wallet Deep dive on any Hyperliquid address: account value, leverage, open positions with share of book, PnL and volume for day, week, month and all time, and a copy preview per leverage cap (which positions would be copied, coverage, and the minimum account size so each copied position is at least $10).
  • start_strategy Start a house preset on a hyperliquid-mainnet wallet and place its first orders. Leverage must be one of the preset's testedLeverage levels; high-risk levels need the owner in the app. Requires the owner to have turned on autonomous trading and confirmed perps eligibility. One strategy per wallet. E
  • start_copy_trade Copy another Hyperliquid account on one of your wallets. Every hour FortFi reads their book, keeps their largest positions until 95% of their exposure is covered (at most 10 names), scales to your equity and leverage cap, and trades only when a position drifts more than 10% from target. API keys may
  • update_strategy Lower a strategy's leverage or allocation cap. API keys can only tighten: raising leverage or the cap returns OWNER_PASSKEY_REQUIRED.
  • pause_strategy Pause a strategy. Positions stay open; no more orders until resumed.
  • resume_strategy Resume a paused strategy. An API key can only resume a strategy it started; others need the owner in the app.
  • stop_strategy Stop a strategy and close every position it opened (cash out). Positions it did not open are left alone.
  • rebalance_strategy_now Run a strategy's rebalance now instead of waiting for its schedule. Returns the run outcome.
  • list_hyperliquid_positions List open Hyperliquid perp positions and margin summary for a hyperliquid-mainnet wallet (its address is used on the L1 order book).
  • get_hyperliquid_balances 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_trading_desk 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
  • list_hyperliquid_open_orders List resting Hyperliquid orders including SL/TP triggers for a wallet.
  • get_hyperliquid_user_fills Recent Hyperliquid trade fills with closedPnl per fill. Use for P&L review and trade history (up to 2000 from HL).
  • propose_hyperliquid_perp_open 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_perp_close 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 Propose modifying a Hyperliquid perp position's protective stop-loss / take-profit (reduce-only). Returns a proposalId for confirm_proposal.
  • cancel_hyperliquid_orders Propose cancelling resting Hyperliquid orders (limit orders and SL/TP triggers) on one market. Pass oids from list_hyperliquid_open_orders, or omit oids to cancel every resting order on that symbol. Moves no money, but cancelling a stop loss removes protection, so it follows the normal confirm_propo
  • propose_hyperliquid_deposit Propose moving HyperEVM USDC into Hyperliquid perp margin (top up). Set perpDex for HIP-3 desks (xyz, io, para). Returns proposalId; execute with confirm_proposal (server-side when Delegated Access or agent credential).
  • propose_hyperliquid_withdraw Propose moving Hyperliquid perp USDC to the owner's own HyperEVM wallet (same address; perp to HL Spot, then sendAsset to the USDC system address). Funds cannot go to any other recipient. Returns proposalId; human confirms with passkey via Perps Withdraw to HyperEVM or confirm_proposal.
  • propose_hyperliquid_spot_to_perp Propose moving USDC from HL Spot into core perps margin (required after MoonPay HyperCore on-ramp). Returns proposalId; human confirms via Perps Deposit to tradable balance or confirm_proposal.
  • propose_hyperliquid_send_asset Move USDC between Hyperliquid margin desks without HyperEVM (any perp book: core, xyz, io, para, mkts, …, or spot → any perp desk). Use list_hyperliquid_balances perpDesks[].dex for valid dex ids.
  • list_hyperliquid_outcome_markets List Hyperliquid HIP-4 outcome markets on the same account as perps. Prices are quote-micro (650000 = $0.65) from exchange mids. volumeUsd is 0 because outcomeMeta does not publish volume.
  • get_hyperliquid_outcome_market One HIP-4 outcome market. id is the numeric outcome id. Optional walletId reads that Hyperliquid account's share balance.
  • propose_hyperliquid_outcome_order Propose a HIP-4 buy or sell on the Hyperliquid account. size is micro-USDC collateral (10000000 = $10). limitPrice is quote-micro. Runs outcome policy (no leverage, max notional) before any signature. Confirm with confirm_proposal.
  • create_checkout_session 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_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).
  • pay_payment_request_x402 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.
  • list_payment_sales Merchant view: paid and partially paid invoices on your collection vaults (what you sold). Includes payer, method, and settlement details.
  • list_payment_purchases Buyer view: FortFi checkouts your vaults paid (what you bought). Matches settlements by payer wallet address across your fleet.
  • create_payment_product 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.
  • list_payment_products List persistent product checkout links for the account.
  • get_payment_product Get a payment product by internal id or public slug.
  • create_merchant_webhook 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.
  • list_merchant_webhooks List registered webhook endpoints (secrets are never returned).
  • list_merchant_webhook_deliveries List webhook delivery log. Use status=failed for dead-letter queue rows. Filter by paymentRequestId to find deliveries for one checkout.
  • replay_merchant_webhook_delivery Replay a dead-lettered or failed webhook delivery after fixing your endpoint. Re-sends the same event id and body for idempotent handlers.
  • send_merchant_webhook_test Send a signed webhook.test event to an endpoint.
  • search_vaults 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.
  • search_credentials Parent-treasury key-centric credential search (treasury credential + keys:manage + wallets:read). Complements search_vaults. Never returns raw bearer keys.
  • create_vault_credential Mint a vault-scoped credential for an existing wallet (treasury + keys:manage). Returns bearerKey once when agentPublicKey is omitted. Requires FORTFI_VAULT_CREDENTIALS_ENABLED.
  • update_vault_credential Atomically replace a vault credential's name, access mode, grants, and expiry (treasury + keys:manage). Revoked credentials cannot be updated.
  • revoke_vault_credential Revoke a vault-scoped credential (treasury + keys:manage). Idempotent if already revoked.
  • create_provisioning_job 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.
  • get_provisioning_job Poll a bulk provisioning job (treasury + keys:manage + wallets:read). bearerKey appears once when secretsDelivery is revealed.
  • create_customer 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.

Badge

Connect-MCP badge for io.github.rebelArtists/fortfi-treasury-mcp

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.github.rebelArtists/fortfi-treasury-mcp.svg)](https://clawy.uk/mcp/s/io.github.rebelArtists/fortfi-treasury-mcp)