{"serverId":"mcp-registry/io.fuse/mcp","tools":[{"name":"fuse_deploy_contract","fixed":{"name":"fuse_deploy_contract","description":"Signs and submits a contract-deployment transaction using the server's signer. Returns the transaction hash, and the deployed contract address when `waitForReceipt: true`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bytecode","abi"],"properties":{"abi":{"type":"array","items":{},"description":"Contract ABI. Required so constructor arguments can be encoded correctly."},"args":{"type":"array","items":{},"description":"Constructor arguments (defaults to [])."},"bytecode":{"type":"string","description":"Contract creation bytecode as a 0x-prefixed hex string."},"valueWei":{"type":"string","description":"Native FUSE to send with the deployment, in wei (payable constructors)."},"waitForReceipt":{"type":"boolean","description":"When true, the tool waits for the deployment to be mined and includes the deployed address in the response (default false)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Deploy contract"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":274,"tokensAfter":274},{"name":"fuse_explorer_query","fixed":{"name":"fuse_explorer_query","description":"Generic dispatcher for the Fusebox Explorer API (`/api/v0/explorer/`). Pass `module` + `action` + any additional query params. Covers all 40+ etherscan-compatible endpoints including balances, logs, transactions, contract ABI/source, and the five contract-verify POST routes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["module","action"],"properties":{"body":{"type":"object","description":"JSON body for POST verify-* actions.","additionalProperties":{}},"action":{"type":"string","description":"Action within the module — e.g. `balance`, `txlist`, `getabi`, `getLogs`, `eth_block_number`, `verify`."},"method":{"enum":["GET","POST"],"type":"string","description":"HTTP method (default GET). Use POST only for the five `contract/verify*` actions, which also accept a JSON body."},"module":{"type":"string","description":"Etherscan-style API module: `account`, `block`, `contract`, `logs`, `stats`, `token`, `transaction`."},"params":{"type":"object","description":"Additional query parameters (e.g. `address`, `fromBlock`, `toBlock`, `topic0`). Omit `module`, `action`, and `apiKey` — they're injected automatically.","additionalProperties":{"type":["string","number","boolean"]}}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Fuse Explorer API query"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":365,"tokensAfter":365},{"name":"fuse_get_account_abstraction_info","fixed":{"name":"fuse_get_account_abstraction_info","description":"Reads ERC-4337 state for a smart account on Fuse: deployment status, EntryPoint nonce, and the account's deposit balance at the EntryPoint. Paymaster eligibility is not evaluated in v0.1.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["smartAccountAddress"],"properties":{"nonceKey":{"type":"string","description":"Optional 192-bit nonce key as a decimal or 0x-prefixed hex string (defaults to 0)."},"smartAccountAddress":{"type":"string","description":"Smart-account (ERC-4337) address — counterfactual or deployed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get account abstraction info"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":183,"tokensAfter":183},{"name":"fuse_get_balance","fixed":{"name":"fuse_get_balance","description":"Returns the native FUSE balance for an address, or an ERC-20 token balance when `tokenAddress` is supplied.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["address"],"properties":{"address":{"type":"string","description":"EOA or contract address to query (0x-prefixed, EIP-55 or lowercase)."},"tokenAddress":{"type":"string","description":"Optional ERC-20 token address. Omit to fetch the native FUSE balance."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get balance"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":149,"tokensAfter":149},{"name":"fuse_get_gas_price","fixed":{"name":"fuse_get_gas_price","description":"Returns the current Fuse network gas price (in wei and gwei) along with EIP-1559 fee suggestions when available.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get gas price"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"fuse_get_receipt","fixed":{"name":"fuse_get_receipt","description":"Fetches the receipt for a mined transaction (status, gasUsed, logs). Returns null if the transaction is pending or unknown.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["hash"],"properties":{"hash":{"type":"string","description":"Transaction hash (0x-prefixed, 32 bytes)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get transaction receipt"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"fuse_get_signer_address","fixed":{"name":"fuse_get_signer_address","description":"Returns the EOA address controlled by the server's configured `FUSE_PRIVATE_KEY`. Use this before any write tool to confirm which account will pay gas and send transactions.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Get signer address"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"fuse_get_staked_tokens","fixed":{"name":"fuse_get_staked_tokens","description":"Returns the active staking positions for a wallet — staked amount, USD value, earned rewards, and APR per position. Powered by the Fusebox SDK StakingModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["walletAddress"],"properties":{"walletAddress":{"type":"string","description":"Smart-wallet address whose active staking positions should be returned."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get staked tokens"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"fuse_get_staking_options","fixed":{"name":"fuse_get_staking_options","description":"Lists every staking option supported by Fuse — token, APR, TVL, expiry, and the matching unstake token. Powered by the Fusebox SDK StakingModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get staking options"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"fuse_get_token_metadata","fixed":{"name":"fuse_get_token_metadata","description":"Reads name, symbol, decimals, and totalSupply for an ERC-20 token deployed on Fuse.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress"],"properties":{"tokenAddress":{"type":"string","description":"ERC-20 token contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get token metadata"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"fuse_get_token_price","fixed":{"name":"fuse_get_token_price","description":"Returns the current USD price for an ERC-20 token tracked by Fusebox. Powered by the Fusebox SDK TradeModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress"],"properties":{"tokenAddress":{"type":"string","description":"Address of the ERC-20 token whose USD price should be returned."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get token price"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"fuse_get_token_price_change","fixed":{"name":"fuse_get_token_price_change","description":"Returns the 24-hour percentage price change for an ERC-20 token tracked by Fusebox. Powered by the Fusebox SDK TradeModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress"],"properties":{"tokenAddress":{"type":"string","description":"Address of the ERC-20 token whose 24-hour price change should be returned."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get token 24h price change"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"fuse_get_token_price_history","fixed":{"name":"fuse_get_token_price_history","description":"Returns OHLC / interval price stats for an ERC-20 token over a week, month, or year. Powered by the Fusebox SDK TradeModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","timeFrame"],"properties":{"timeFrame":{"enum":["week","month","year"],"type":"string","description":"Granularity / range for the price series."},"tokenAddress":{"type":"string","description":"Address of the ERC-20 token to fetch price history for."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get token price history"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":159,"tokensAfter":159},{"name":"fuse_get_trade_quote","fixed":{"name":"fuse_get_trade_quote","description":"Quotes a token swap on Fuse — expected output amount, route, and price impact. Read-only: returns the quote without submitting a trade. Powered by the Fusebox SDK TradeModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["inputToken","outputToken","amount"],"properties":{"amount":{"type":"string","description":"Amount, expressed as a decimal string in the token's base units (wei for 18-decimal tokens)."},"exactIn":{"type":"boolean","description":"When true (default), `amount` is the sell amount. When false, `amount` is the desired buy amount."},"inputToken":{"type":"string","description":"Address of the token being sold."},"outputToken":{"type":"string","description":"Address of the token being bought."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get trade quote"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":234,"tokensAfter":234},{"name":"fuse_get_transaction","fixed":{"name":"fuse_get_transaction","description":"Fetches a transaction by hash. Returns null if the transaction is not found.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["hash"],"properties":{"hash":{"type":"string","description":"Transaction hash (0x-prefixed, 32 bytes)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get transaction"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"fuse_get_user_operations","fixed":{"name":"fuse_get_user_operations","description":"Returns the ERC-4337 UserOperation history for a smart account on Fuse, indexed via the Fusebox GraphQL service. Powered by the Fusebox SDK GraphQLModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sender"],"properties":{"sender":{"type":"string","description":"Smart-account address (UserOperation `sender`) to fetch history for."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get user operations"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"fuse_list_supported_tokens","fixed":{"name":"fuse_list_supported_tokens","description":"Returns the catalogue of ERC-20 tokens tracked by Fusebox (tradable, indexed, priced). Powered by the Fusebox SDK TradeModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List supported tokens"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"fuse_list_wallet_nfts","fixed":{"name":"fuse_list_wallet_nfts","description":"Lists all NFTs (ERC-721 / ERC-1155 collectibles) owned by a wallet on Fuse. Powered by the Fusebox SDK BalancesModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["walletAddress"],"properties":{"walletAddress":{"type":"string","description":"Wallet address whose NFT holdings should be listed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List wallet NFTs"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"fuse_list_wallet_tokens","fixed":{"name":"fuse_list_wallet_tokens","description":"Lists all ERC-20 tokens held by a wallet on Fuse, enriched with Fusebox metadata (symbol, decimals, USD value). Powered by the Fusebox SDK BalancesModule.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["walletAddress"],"properties":{"walletAddress":{"type":"string","description":"Wallet address whose ERC-20 token portfolio should be listed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List wallet tokens"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"fuse_notification_add_addresses","fixed":{"name":"fuse_notification_add_addresses","description":"Add one or more EVM addresses to a webhook's listening scope. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId","addresses"],"properties":{"addresses":{"type":"array","items":{"type":"string"},"minItems":1,"description":"EVM addresses to start monitoring for this webhook."},"webhookId":{"type":"string","description":"ID of the webhook to extend."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Add addresses to webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":148,"tokensAfter":148},{"name":"fuse_notification_create_webhook","fixed":{"name":"fuse_notification_create_webhook","description":"Create a Fusebox Notification webhook for a project. Requires `FUSEBOX_SECRET_API_KEY` (Notification API endpoints authenticate with both apiKey and API-SECRET).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["projectId","webhookUrl","eventType"],"properties":{"eventType":{"enum":["ALL","FUSE","ERC20","ERC721"],"type":"string","description":"Event filter. `ERC721` also covers ERC1155 events. `ALL` subscribes to every event type."},"projectId":{"type":"string","description":"Fuse Console project ID that owns the webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS URL that Fusebox will POST event payloads to."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":217,"tokensAfter":217},{"name":"fuse_notification_delete_webhook","fixed":{"name":"fuse_notification_delete_webhook","description":"Permanently delete a Fusebox Notification webhook. Destructive — the webhook stops receiving events. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId"],"properties":{"webhookId":{"type":"string","description":"ID of the webhook to delete."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Delete webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":118,"tokensAfter":118},{"name":"fuse_notification_get_webhook","fixed":{"name":"fuse_notification_get_webhook","description":"Retrieve details of a single Fusebox Notification webhook. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId"],"properties":{"webhookId":{"type":"string","description":"Webhook ID to retrieve."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get webhook by ID"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"fuse_notification_list_addresses","fixed":{"name":"fuse_notification_list_addresses","description":"List every EVM address monitored by a given webhook. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId"],"properties":{"webhookId":{"type":"string","description":"Webhook ID whose monitored addresses should be listed."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"List webhook addresses"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"fuse_notification_list_project_webhooks","fixed":{"name":"fuse_notification_list_project_webhooks","description":"List every Fusebox Notification webhook configured for a given project. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["projectId"],"properties":{"projectId":{"type":"string","description":"Project ID whose webhooks should be listed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List project webhooks"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"fuse_notification_remove_addresses","fixed":{"name":"fuse_notification_remove_addresses","description":"Remove EVM addresses from a webhook's listening scope. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId","addresses"],"properties":{"addresses":{"type":"array","items":{"type":"string"},"minItems":1,"description":"EVM addresses to stop monitoring."},"webhookId":{"type":"string","description":"ID of the webhook to modify."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Remove addresses from webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"fuse_notification_update_webhook","fixed":{"name":"fuse_notification_update_webhook","description":"Update a Fusebox Notification webhook's URL or event type. Requires `FUSEBOX_SECRET_API_KEY`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["webhookId","webhookUrl","eventType"],"properties":{"eventType":{"enum":["ALL","FUSE","ERC20","ERC721"],"type":"string","description":"Event filter (`ERC721` also covers ERC1155)."},"webhookId":{"type":"string","description":"ID of the webhook to update."},"webhookUrl":{"type":"string","format":"uri","description":"New webhook URL."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update webhook"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":171,"tokensAfter":171},{"name":"fuse_read_contract","fixed":{"name":"fuse_read_contract","description":"Calls a view/pure function on a Fuse contract. ABI is auto-fetched from the verified Fuse explorer when not supplied.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["address","functionName"],"properties":{"abi":{"type":"array","items":{},"description":"Optional ABI override. If omitted, the verified ABI is fetched from the Fuse explorer."},"args":{"type":"array","items":{},"description":"Positional arguments for the function (defaults to [])."},"address":{"type":"string","description":"Contract address."},"functionName":{"type":"string","description":"Name of the view/pure function to call."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read contract"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"fuse_resolve_ens","fixed":{"name":"fuse_resolve_ens","description":"Resolves an ENS name to its EVM address. ENS is not deployed on Fuse — resolution requires `ENS_RPC_URL` to be configured (typically pointing at Ethereum mainnet). Plain hex addresses are passed through.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","description":"ENS name to resolve (e.g. `vitalik.eth`). Plain addresses are returned unchanged."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Resolve ENS name"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"fuse_send_erc20","fixed":{"name":"fuse_send_erc20","description":"Submits a signed `ERC20.transfer(to, amount)` from the server's signer. Decimals are auto-fetched from the token; use `unit: \"base\"` to skip scaling.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","to","amount"],"properties":{"to":{"type":"string","description":"Recipient address."},"unit":{"enum":["display","base"],"type":"string"},"amount":{"type":"string","description":"Amount to transfer. Default unit is the token's display unit (decimals auto-detected); pass `unit: \"base\"` to send raw base units."},"tokenAddress":{"type":"string","description":"ERC-20 token contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Send ERC-20"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"fuse_send_native","fixed":{"name":"fuse_send_native","description":"Submits a signed transaction transferring native FUSE from the server's signer to a recipient. Returns the transaction hash; use `fuse_get_receipt` to confirm inclusion.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["to","amount"],"properties":{"to":{"type":"string","description":"Recipient address."},"unit":{"enum":["display","base"],"type":"string","description":"`display` (default) treats `amount` as FUSE; `base` treats it as wei."},"amount":{"type":"string","description":"Amount of FUSE to send (default unit: FUSE — pass `unit: \"wei\"` for raw wei)."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Send native FUSE"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":191,"tokensAfter":191},{"name":"fuse_smart_approve_and_call","fixed":{"name":"fuse_smart_approve_and_call","description":"Atomically approves a token and invokes a follow-up call on the spender from the configured smart wallet. Common DeFi pattern.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","spender","amount","callData"],"properties":{"unit":{"enum":["display","base"],"type":"string"},"amount":{"type":"string","description":"Allowance amount in the token's display unit (or base if `unit: \"base\"`)."},"spender":{"type":"string","description":"Contract that will receive the subsequent call."},"callData":{"type":"string","description":"Encoded calldata to invoke on `spender` after approval (0x-prefixed hex)."},"tokenAddress":{"type":"string","description":"ERC-20 token contract address to approve."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: approve + call"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":234,"tokensAfter":234},{"name":"fuse_smart_approve_nft","fixed":{"name":"fuse_smart_approve_nft","description":"Submits an ERC-4337 UserOperation calling `approve(spender, tokenId)` on an NFT contract from the configured smart wallet.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["nftContractAddress","spender","tokenId"],"properties":{"spender":{"type":"string","description":"Address being granted approval for the token ID."},"tokenId":{"type":"string","description":"NFT token ID (decimal or hex)."},"nftContractAddress":{"type":"string","description":"ERC-721 / ERC-1155 contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: approve NFT"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":171,"tokensAfter":171},{"name":"fuse_smart_approve_token","fixed":{"name":"fuse_smart_approve_token","description":"Submits an ERC-4337 UserOperation calling `ERC20.approve(spender, amount)` from the configured smart wallet.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","spender","amount"],"properties":{"unit":{"enum":["display","base"],"type":"string"},"amount":{"type":"string","description":"Allowance amount. Default unit is the token's display unit; pass `unit: \"base\"` for raw base units. Use `\"max\"` to approve the uint256 maximum."},"spender":{"type":"string","description":"Address being granted spending allowance."},"tokenAddress":{"type":"string","description":"ERC-20 token contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: approve token"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":207,"tokensAfter":207},{"name":"fuse_smart_execute_batch","fixed":{"name":"fuse_smart_execute_batch","description":"Submits a single ERC-4337 UserOperation that executes a sequence of contract calls atomically. Failed sub-calls revert the whole batch.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["calls"],"properties":{"calls":{"type":"array","items":{"type":"object","required":["to","data"],"properties":{"to":{"type":"string","description":"Target contract address."},"data":{"type":"string","description":"Encoded calldata (0x-prefixed hex)."},"value":{"type":"string","description":"Native FUSE to send with the call, in wei (default `0`)."}},"additionalProperties":false},"minItems":1,"description":"Ordered list of contract calls to execute atomically as a single UserOp."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: execute batch"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222},{"name":"fuse_smart_get_info","fixed":{"name":"fuse_smart_get_info","description":"Returns the ERC-4337 smart-wallet address derived from the configured signer, plus whether the Fuse paymaster (gasless mode) is enabled.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get smart-wallet info"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"fuse_smart_transfer_nft","fixed":{"name":"fuse_smart_transfer_nft","description":"Submits an ERC-4337 UserOperation transferring an NFT (ERC-721 / ERC-1155) from the configured smart wallet to a recipient.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["nftContractAddress","to","tokenId"],"properties":{"to":{"type":"string","description":"Recipient address."},"tokenId":{"type":"string","description":"NFT token ID (decimal or 0x-prefixed hex string)."},"nftContractAddress":{"type":"string","description":"ERC-721 / ERC-1155 contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: transfer NFT"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":166,"tokensAfter":166},{"name":"fuse_smart_transfer_token","fixed":{"name":"fuse_smart_transfer_token","description":"Submits an ERC-4337 UserOperation transferring a token (native FUSE or ERC-20) from the configured smart wallet. Gasless when `FUSE_USE_PAYMASTER=true`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","to","amount"],"properties":{"to":{"type":"string","description":"Recipient address."},"unit":{"enum":["display","base"],"type":"string"},"amount":{"type":"string","description":"Amount to transfer. Default unit is the token's display unit; pass `unit: \"base\"` for raw base units."},"tokenAddress":{"type":"string","description":"Token contract address. Use the native-token sentinel `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` for FUSE."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Smart-account: transfer token"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":220,"tokensAfter":220},{"name":"fuse_smart_wallet_get_actions","fixed":{"name":"fuse_smart_wallet_get_actions","description":"List the paginated action history (transfers, contract calls) of an authenticated smart wallet. The JWT comes from `fuse_smart_wallet_authenticate`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["jwt"],"properties":{"jwt":{"type":"string","description":"Bearer JWT issued by `fuse_smart_wallet_authenticate`."},"page":{"type":"integer","minimum":1,"description":"Pagination page (default 1)."},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page (default 10)."},"tokenAddress":{"type":"string","description":"Optional ERC-20 token address to filter actions by."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get smart wallet actions"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"fuse_trade_indicative_price","fixed":{"name":"fuse_trade_indicative_price","description":"Returns an indicative price + route for a swap on Fuse (0x-style response). One of `sellAmount` / `buyAmount` must be provided.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sellToken","buyToken"],"properties":{"buyToken":{"type":"string","description":"ERC-20 contract address of the token to buy."},"gasPrice":{"type":"string","description":"Gas price override in wei."},"buyAmount":{"type":"string","description":"Desired buy amount in base units (mutually exclusive with `sellAmount`)."},"sellToken":{"type":"string","description":"ERC-20 contract address of the token to sell."},"sellAmount":{"type":"string","description":"Sell amount in base units (mutually exclusive with `buyAmount`)."},"feeRecipient":{"type":"string"},"takerAddress":{"type":"string","description":"Address of the trader (for validation)."},"skipValidation":{"type":"boolean"},"excludedSources":{"type":"string","description":"Comma-separated liquidity sources to exclude."},"includedSources":{"type":"string","description":"Comma-separated liquidity sources to include."},"slippagePercentage":{"type":"string","description":"Max slippage as a decimal string (e.g. `0.01` = 1%)."},"buyTokenPercentageFee":{"type":"string"},"enableSlippageProtection":{"type":"boolean"},"feeRecipientTradeSurplus":{"type":"string"},"priceImpactProtectionPercentage":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get indicative trade price"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":411,"tokensAfter":411},{"name":"fuse_trade_liquidity_sources","fixed":{"name":"fuse_trade_liquidity_sources","description":"Returns the liquidity sources currently enabled for Fuse-chain trades (e.g. voltage.finance, sub-pools).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List liquidity sources"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"fuse_trade_price_change_over_duration","fixed":{"name":"fuse_trade_price_change_over_duration","description":"Returns a token's price change over a custom day-count window (`{ priceChange, currentPrice, previousPrice }`).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tokenAddress","days"],"properties":{"days":{"type":"integer","minimum":1,"description":"Number of days to look back when computing the price change."},"tokenAddress":{"type":"string","description":"ERC-20 contract address of the token."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get token price change over duration"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":151,"tokensAfter":151},{"name":"fuse_write_contract","fixed":{"name":"fuse_write_contract","description":"Signs and submits a state-mutating contract call from the server's signer. ABI is auto-fetched from the Fuse explorer when not supplied. Returns the transaction hash.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["address","functionName"],"properties":{"abi":{"type":"array","items":{},"description":"Optional ABI override. If omitted, the verified ABI is fetched from the Fuse explorer."},"args":{"type":"array","items":{},"description":"Positional arguments (defaults to [])."},"address":{"type":"string","description":"Contract address."},"valueWei":{"type":"string","description":"Native FUSE value to send with the call, in wei (for payable functions)."},"functionName":{"type":"string","description":"State-mutating function to call."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Write contract"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":242,"tokensAfter":242}],"toolsChanged":43,"tokensSaved":0,"todo":[{"tool":"fuse_send_erc20","params":["unit"]},{"tool":"fuse_smart_approve_and_call","params":["unit"]},{"tool":"fuse_smart_approve_token","params":["unit"]},{"tool":"fuse_smart_transfer_token","params":["unit"]},{"tool":"fuse_trade_indicative_price","params":["feeRecipient","skipValidation","buyTokenPercentageFee","enableSlippageProtection","feeRecipientTradeSurplus","priceImpactProtectionPercentage"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}