Fuse Network

MCP server for Fuse Network: balances, tokens, staking, DeFi data, swaps and on-chain transactions.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
91%
Naming quality
76%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (13)

  • LOWTool 'fuse_get_gas_price' description lacks action verbin fuse_get_gas_price
  • LOWTool 'fuse_get_staked_tokens' description lacks action verbin fuse_get_staked_tokens
  • LOWTool 'fuse_get_token_price_history' description lacks action verbin fuse_get_token_price_history
  • LOWTool 'fuse_trade_indicative_price' description lacks action verbin fuse_trade_indicative_price
  • LOWTool 'fuse_get_account_abstraction_info' name length outside 3-30 rangein fuse_get_account_abstraction_info
  • LOWTool 'fuse_notification_create_webhook' name length outside 3-30 rangein fuse_notification_create_webhook
  • LOWTool 'fuse_notification_list_project_webhooks' name length outside 3-30 rangein fuse_notification_list_project_webhooks
  • LOWTool 'fuse_notification_update_webhook' name length outside 3-30 rangein fuse_notification_update_webhook
  • LOWTool 'fuse_notification_delete_webhook' name length outside 3-30 rangein fuse_notification_delete_webhook
  • LOWTool 'fuse_notification_add_addresses' name length outside 3-30 rangein fuse_notification_add_addresses

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~7,086Tokens (tool definitions)
~1.2 KBTypical response size
Significant attention impact (5.54% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.fuse.io/mcp"
    }
  }
}

Remote endpoints

https://mcp.fuse.io/mcpstreamable-http

What it can do

Tool inventory

Tools (50)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢fuse_get_balance(address, tokenAddress)

Returns the native FUSE balance for an address, or an ERC-20 token balance when `tokenAddress` is supplied.

Input Schema

{
  "type": "object",
  "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."
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_transaction(hash)

Fetches a transaction by hash. Returns null if the transaction is not found.

Input Schema

{
  "type": "object",
  "properties": {
    "hash": {
      "type": "string",
      "description": "Transaction hash (0x-prefixed, 32 bytes)."
    }
  },
  "required": [
    "hash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_receipt(hash)

Fetches the receipt for a mined transaction (status, gasUsed, logs). Returns null if the transaction is pending or unknown.

Input Schema

{
  "type": "object",
  "properties": {
    "hash": {
      "type": "string",
      "description": "Transaction hash (0x-prefixed, 32 bytes)."
    }
  },
  "required": [
    "hash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_read_contract(address, functionName, args, abi)

Calls a view/pure function on a Fuse contract. ABI is auto-fetched from the verified Fuse explorer when not supplied.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Contract address."
    },
    "functionName": {
      "type": "string",
      "description": "Name of the view/pure function to call."
    },
    "args": {
      "type": "array",
      "items": {},
      "description": "Positional arguments for the function (defaults to [])."
    },
    "abi": {
      "type": "array",
      "items": {},
      "description": "Optional ABI override. If omitted, the verified ABI is fetched from the Fuse explorer."
    }
  },
  "required": [
    "address",
    "functionName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_token_metadata(tokenAddress)

Reads name, symbol, decimals, and totalSupply for an ERC-20 token deployed on Fuse.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "ERC-20 token contract address."
    }
  },
  "required": [
    "tokenAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_gas_price

Returns the current Fuse network gas price (in wei and gwei) along with EIP-1559 fee suggestions when available.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_resolve_ens(name)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "ENS name to resolve (e.g. `vitalik.eth`). Plain addresses are returned unchanged."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_account_abstraction_info(smartAccountAddress, nonceKey)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "smartAccountAddress": {
      "type": "string",
      "description": "Smart-account (ERC-4337) address — counterfactual or deployed."
    },
    "nonceKey": {
      "type": "string",
      "description": "Optional 192-bit nonce key as a decimal or 0x-prefixed hex string (defaults to 0)."
    }
  },
  "required": [
    "smartAccountAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_list_wallet_tokens(walletAddress)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "walletAddress": {
      "type": "string",
      "description": "Wallet address whose ERC-20 token portfolio should be listed."
    }
  },
  "required": [
    "walletAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_list_wallet_nfts(walletAddress)

Lists all NFTs (ERC-721 / ERC-1155 collectibles) owned by a wallet on Fuse. Powered by the Fusebox SDK BalancesModule.

Input Schema

{
  "type": "object",
  "properties": {
    "walletAddress": {
      "type": "string",
      "description": "Wallet address whose NFT holdings should be listed."
    }
  },
  "required": [
    "walletAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_staking_options

Lists every staking option supported by Fuse — token, APR, TVL, expiry, and the matching unstake token. Powered by the Fusebox SDK StakingModule.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_staked_tokens(walletAddress)

Returns the active staking positions for a wallet — staked amount, USD value, earned rewards, and APR per position. Powered by the Fusebox SDK StakingModule.

Input Schema

{
  "type": "object",
  "properties": {
    "walletAddress": {
      "type": "string",
      "description": "Smart-wallet address whose active staking positions should be returned."
    }
  },
  "required": [
    "walletAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_token_price(tokenAddress)

Returns the current USD price for an ERC-20 token tracked by Fusebox. Powered by the Fusebox SDK TradeModule.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Address of the ERC-20 token whose USD price should be returned."
    }
  },
  "required": [
    "tokenAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_get_token_price_change(tokenAddress)

Returns the 24-hour percentage price change for an ERC-20 token tracked by Fusebox. Powered by the Fusebox SDK TradeModule.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Address of the ERC-20 token whose 24-hour price change should be returned."
    }
  },
  "required": [
    "tokenAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_token_price_history(tokenAddress, timeFrame)

Returns OHLC / interval price stats for an ERC-20 token over a week, month, or year. Powered by the Fusebox SDK TradeModule.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Address of the ERC-20 token to fetch price history for."
    },
    "timeFrame": {
      "type": "string",
      "enum": [
        "week",
        "month",
        "year"
      ],
      "description": "Granularity / range for the price series."
    }
  },
  "required": [
    "tokenAddress",
    "timeFrame"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_list_supported_tokens

Returns the catalogue of ERC-20 tokens tracked by Fusebox (tradable, indexed, priced). Powered by the Fusebox SDK TradeModule.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_trade_quote(inputToken, outputToken, amount, exactIn)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "inputToken": {
      "type": "string",
      "description": "Address of the token being sold."
    },
    "outputToken": {
      "type": "string",
      "description": "Address of the token being bought."
    },
    "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."
    }
  },
  "required": [
    "inputToken",
    "outputToken",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_get_user_operations(sender)

Returns the ERC-4337 UserOperation history for a smart account on Fuse, indexed via the Fusebox GraphQL service. Powered by the Fusebox SDK GraphQLModule.

Input Schema

{
  "type": "object",
  "properties": {
    "sender": {
      "type": "string",
      "description": "Smart-account address (UserOperation `sender`) to fetch history for."
    }
  },
  "required": [
    "sender"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_notification_create_webhook(projectId, webhookUrl, eventType)

Create a Fusebox Notification webhook for a project. Requires `FUSEBOX_SECRET_API_KEY` (Notification API endpoints authenticate with both apiKey and API-SECRET).

Input Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "eventType": {
      "type": "string",
      "enum": [
        "ALL",
        "FUSE",
        "ERC20",
        "ERC721"
      ],
      "description": "Event filter. `ERC721` also covers ERC1155 events. `ALL` subscribes to every event type."
    }
  },
  "required": [
    "projectId",
    "webhookUrl",
    "eventType"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_notification_get_webhook(webhookId)

Retrieve details of a single Fusebox Notification webhook. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "Webhook ID to retrieve."
    }
  },
  "required": [
    "webhookId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_notification_list_project_webhooks(projectId)

List every Fusebox Notification webhook configured for a given project. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID whose webhooks should be listed."
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_notification_update_webhook(webhookId, webhookUrl, eventType)

Update a Fusebox Notification webhook's URL or event type. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "ID of the webhook to update."
    },
    "webhookUrl": {
      "type": "string",
      "format": "uri",
      "description": "New webhook URL."
    },
    "eventType": {
      "type": "string",
      "enum": [
        "ALL",
        "FUSE",
        "ERC20",
        "ERC721"
      ],
      "description": "Event filter (`ERC721` also covers ERC1155)."
    }
  },
  "required": [
    "webhookId",
    "webhookUrl",
    "eventType"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴fuse_notification_delete_webhook(webhookId)

Permanently delete a Fusebox Notification webhook. Destructive — the webhook stops receiving events. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "ID of the webhook to delete."
    }
  },
  "required": [
    "webhookId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_notification_add_addresses(webhookId, addresses)

Add one or more EVM addresses to a webhook's listening scope. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "ID of the webhook to extend."
    },
    "addresses": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "EVM addresses to start monitoring for this webhook."
    }
  },
  "required": [
    "webhookId",
    "addresses"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴fuse_notification_remove_addresses(webhookId, addresses)

Remove EVM addresses from a webhook's listening scope. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "ID of the webhook to modify."
    },
    "addresses": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "EVM addresses to stop monitoring."
    }
  },
  "required": [
    "webhookId",
    "addresses"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_notification_list_addresses(webhookId)

List every EVM address monitored by a given webhook. Requires `FUSEBOX_SECRET_API_KEY`.

Input Schema

{
  "type": "object",
  "properties": {
    "webhookId": {
      "type": "string",
      "description": "Webhook ID whose monitored addresses should be listed."
    }
  },
  "required": [
    "webhookId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_smart_wallet_authenticate(hash, signature, ownerAddress, smartWalletAddress)

Exchange an EIP-191 signature for a JWT used as Bearer auth on Smart Wallet API calls (e.g. `fuse_smart_wallet_get_actions`). Signing happens client-side; this tool only submits the signed payload.

Input Schema

{
  "type": "object",
  "properties": {
    "hash": {
      "type": "string",
      "description": "Signed message hash (EIP-191)."
    },
    "signature": {
      "type": "string",
      "description": "EIP-191 signature produced by the EOA owner."
    },
    "ownerAddress": {
      "type": "string",
      "description": "EOA address that signed the hash (the smart wallet's owner)."
    },
    "smartWalletAddress": {
      "type": "string",
      "description": "Deployed smart contract wallet address."
    }
  },
  "required": [
    "hash",
    "signature",
    "ownerAddress",
    "smartWalletAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_smart_wallet_get_actions(jwt, page, limit, tokenAddress)

List the paginated action history (transfers, contract calls) of an authenticated smart wallet. The JWT comes from `fuse_smart_wallet_authenticate`.

Input Schema

{
  "type": "object",
  "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",
      "minimum": 1,
      "maximum": 100,
      "description": "Items per page (default 10)."
    },
    "tokenAddress": {
      "type": "string",
      "description": "Optional ERC-20 token address to filter actions by."
    }
  },
  "required": [
    "jwt"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_trade_indicative_price(sellToken, buyToken, sellAmount, buyAmount, slippagePercentage, ...)

Returns an indicative price + route for a swap on Fuse (0x-style response). One of `sellAmount` / `buyAmount` must be provided.

Input Schema

{
  "type": "object",
  "properties": {
    "sellToken": {
      "type": "string",
      "description": "ERC-20 contract address of the token to sell."
    },
    "buyToken": {
      "type": "string",
      "description": "ERC-20 contract address of the token to buy."
    },
    "sellAmount": {
      "type": "string",
      "description": "Sell amount in base units (mutually exclusive with `buyAmount`)."
    },
    "buyAmount": {
      "type": "string",
      "description": "Desired buy amount in base units (mutually exclusive with `sellAmount`)."
    },
    "slippagePercentage": {
      "type": "string",
      "description": "Max slippage as a decimal string (e.g. `0.01` = 1%)."
    },
    "gasPrice": {
      "type": "string",
      "description": "Gas price override in wei."
    },
    "takerAddress": {
      "type": "string",
      "description": "Address of the trader (for validation)."
    },
    "excludedSources": {
      "type": "string",
      "description": "Comma-separated liquidity sources to exclude."
    },
    "includedSources": {
      "type": "string",
      "description": "Comma-separated liquidity sources to include."
    },
    "skipValidation": {
      "type": "boolean"
    },
    "feeRecipient": {
      "type": "string"
    },
    "buyTokenPercentageFee": {
      "type": "string"
    },
    "enableSlippageProtection": {
      "type": "boolean"
    },
    "priceImpactProtectionPercentage": {
      "type": "string"
    },
    "feeRecipientTradeSurplus": {
      "type": "string"
    }
  },
  "required": [
    "sellToken",
    "buyToken"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_trade_liquidity_sources

Returns the liquidity sources currently enabled for Fuse-chain trades (e.g. voltage.finance, sub-pools).

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_trade_price_change_over_duration(tokenAddress, days)

Returns a token's price change over a custom day-count window (`{ priceChange, currentPrice, previousPrice }`).

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "ERC-20 contract address of the token."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of days to look back when computing the price change."
    }
  },
  "required": [
    "tokenAddress",
    "days"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_explorer_query(module, action, params, method, body)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "description": "Etherscan-style API module: `account`, `block`, `contract`, `logs`, `stats`, `token`, `transaction`."
    },
    "action": {
      "type": "string",
      "description": "Action within the module — e.g. `balance`, `txlist`, `getabi`, `getLogs`, `eth_block_number`, `verify`."
    },
    "params": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean"
        ]
      },
      "description": "Additional query parameters (e.g. `address`, `fromBlock`, `toBlock`, `topic0`). Omit `module`, `action`, and `apiKey` — they're injected automatically."
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ],
      "description": "HTTP method (default GET). Use POST only for the five `contract/verify*` actions, which also accept a JSON body."
    },
    "body": {
      "type": "object",
      "additionalProperties": {},
      "description": "JSON body for POST verify-* actions."
    }
  },
  "required": [
    "module",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_get_signer_address

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_send_native(to, amount, unit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient address."
    },
    "amount": {
      "type": "string",
      "description": "Amount of FUSE to send (default unit: FUSE — pass `unit: \"wei\"` for raw wei)."
    },
    "unit": {
      "type": "string",
      "enum": [
        "display",
        "base"
      ],
      "description": "`display` (default) treats `amount` as FUSE; `base` treats it as wei."
    }
  },
  "required": [
    "to",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_send_erc20(tokenAddress, to, amount, unit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "ERC-20 token contract address."
    },
    "to": {
      "type": "string",
      "description": "Recipient address."
    },
    "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."
    },
    "unit": {
      "type": "string",
      "enum": [
        "display",
        "base"
      ]
    }
  },
  "required": [
    "tokenAddress",
    "to",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_write_contract(address, functionName, args, abi, valueWei)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Contract address."
    },
    "functionName": {
      "type": "string",
      "description": "State-mutating function to call."
    },
    "args": {
      "type": "array",
      "items": {},
      "description": "Positional arguments (defaults to [])."
    },
    "abi": {
      "type": "array",
      "items": {},
      "description": "Optional ABI override. If omitted, the verified ABI is fetched from the Fuse explorer."
    },
    "valueWei": {
      "type": "string",
      "description": "Native FUSE value to send with the call, in wei (for payable functions)."
    }
  },
  "required": [
    "address",
    "functionName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡fuse_deploy_contract(bytecode, abi, args, valueWei, waitForReceipt)

Signs and submits a contract-deployment transaction using the server's signer. Returns the transaction hash, and the deployed contract address when `waitForReceipt: true`.

Input Schema

{
  "type": "object",
  "properties": {
    "bytecode": {
      "type": "string",
      "description": "Contract creation bytecode as a 0x-prefixed hex string."
    },
    "abi": {
      "type": "array",
      "items": {},
      "description": "Contract ABI. Required so constructor arguments can be encoded correctly."
    },
    "args": {
      "type": "array",
      "items": {},
      "description": "Constructor arguments (defaults to [])."
    },
    "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)."
    }
  },
  "required": [
    "bytecode",
    "abi"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_sign_message(message, encoding)

Signs a message with the server's signer using EIP-191 (`personal_sign`). Returns the 65-byte signature as hex. No on-chain transaction is submitted.

Input Schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Message to sign. UTF-8 by default; pass `encoding: \"hex\"` for raw bytes (0x-prefixed)."
    },
    "encoding": {
      "type": "string",
      "enum": [
        "utf8",
        "hex"
      ],
      "description": "`utf8` (default) or `hex` for raw bytes."
    }
  },
  "required": [
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_sign_typed_data(domain, types, primaryType, message)

Signs a structured EIP-712 payload with the server's signer. Returns the 65-byte signature as hex. No on-chain transaction is submitted.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "chainId": {
          "type": "integer"
        },
        "verifyingContract": {
          "type": "string"
        },
        "salt": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "description": "EIP-712 domain separator object."
    },
    "types": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "type"
          ],
          "additionalProperties": false
        }
      },
      "description": "EIP-712 types map (exclude the `EIP712Domain` entry — it's derived from `domain`)."
    },
    "primaryType": {
      "type": "string",
      "description": "Name of the primary type to hash."
    },
    "message": {
      "type": "object",
      "additionalProperties": {},
      "description": "Typed-data message conforming to `primaryType`."
    }
  },
  "required": [
    "domain",
    "types",
    "primaryType",
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_smart_get_info

Returns the ERC-4337 smart-wallet address derived from the configured signer, plus whether the Fuse paymaster (gasless mode) is enabled.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_transfer_token(tokenAddress, to, amount, unit)

Submits an ERC-4337 UserOperation transferring a token (native FUSE or ERC-20) from the configured smart wallet. Gasless when `FUSE_USE_PAYMASTER=true`.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Token contract address. Use the native-token sentinel `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` for FUSE."
    },
    "to": {
      "type": "string",
      "description": "Recipient address."
    },
    "amount": {
      "type": "string",
      "description": "Amount to transfer. Default unit is the token's display unit; pass `unit: \"base\"` for raw base units."
    },
    "unit": {
      "type": "string",
      "enum": [
        "display",
        "base"
      ]
    }
  },
  "required": [
    "tokenAddress",
    "to",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_transfer_nft(nftContractAddress, to, tokenId)

Submits an ERC-4337 UserOperation transferring an NFT (ERC-721 / ERC-1155) from the configured smart wallet to a recipient.

Input Schema

{
  "type": "object",
  "properties": {
    "nftContractAddress": {
      "type": "string",
      "description": "ERC-721 / ERC-1155 contract address."
    },
    "to": {
      "type": "string",
      "description": "Recipient address."
    },
    "tokenId": {
      "type": "string",
      "description": "NFT token ID (decimal or 0x-prefixed hex string)."
    }
  },
  "required": [
    "nftContractAddress",
    "to",
    "tokenId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_approve_token(tokenAddress, spender, amount, unit)

Submits an ERC-4337 UserOperation calling `ERC20.approve(spender, amount)` from the configured smart wallet.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "ERC-20 token contract address."
    },
    "spender": {
      "type": "string",
      "description": "Address being granted spending allowance."
    },
    "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."
    },
    "unit": {
      "type": "string",
      "enum": [
        "display",
        "base"
      ]
    }
  },
  "required": [
    "tokenAddress",
    "spender",
    "amount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_approve_nft(nftContractAddress, spender, tokenId)

Submits an ERC-4337 UserOperation calling `approve(spender, tokenId)` on an NFT contract from the configured smart wallet.

Input Schema

{
  "type": "object",
  "properties": {
    "nftContractAddress": {
      "type": "string",
      "description": "ERC-721 / ERC-1155 contract address."
    },
    "spender": {
      "type": "string",
      "description": "Address being granted approval for the token ID."
    },
    "tokenId": {
      "type": "string",
      "description": "NFT token ID (decimal or hex)."
    }
  },
  "required": [
    "nftContractAddress",
    "spender",
    "tokenId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_approve_and_call(tokenAddress, spender, amount, unit, callData)

Atomically approves a token and invokes a follow-up call on the spender from the configured smart wallet. Common DeFi pattern.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "ERC-20 token contract address to approve."
    },
    "spender": {
      "type": "string",
      "description": "Contract that will receive the subsequent call."
    },
    "amount": {
      "type": "string",
      "description": "Allowance amount in the token's display unit (or base if `unit: \"base\"`)."
    },
    "unit": {
      "type": "string",
      "enum": [
        "display",
        "base"
      ]
    },
    "callData": {
      "type": "string",
      "description": "Encoded calldata to invoke on `spender` after approval (0x-prefixed hex)."
    }
  },
  "required": [
    "tokenAddress",
    "spender",
    "amount",
    "callData"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_call_contract(to, valueWei, data)

Submits an ERC-4337 UserOperation invoking arbitrary calldata on a contract from the configured smart wallet. Use when you need full control over the encoded call.

Input Schema

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Target contract address."
    },
    "valueWei": {
      "type": "string",
      "description": "Native FUSE to send with the call, in wei (default `0`)."
    },
    "data": {
      "type": "string",
      "description": "Encoded calldata (0x-prefixed hex)."
    }
  },
  "required": [
    "to",
    "data"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_execute_batch(calls)

Submits a single ERC-4337 UserOperation that executes a sequence of contract calls atomically. Failed sub-calls revert the whole batch.

Input Schema

{
  "type": "object",
  "properties": {
    "calls": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "description": "Target contract address."
          },
          "value": {
            "type": "string",
            "description": "Native FUSE to send with the call, in wei (default `0`)."
          },
          "data": {
            "type": "string",
            "description": "Encoded calldata (0x-prefixed hex)."
          }
        },
        "required": [
          "to",
          "data"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Ordered list of contract calls to execute atomically as a single UserOp."
    }
  },
  "required": [
    "calls"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_smart_swap_tokens(inputToken, outputToken, inputAmount, exactIn)

Submits an ERC-4337 UserOperation executing a swap on Fuse via the Fusebox trade engine. Quote a swap first with `fuse_get_trade_quote` to preview the route.

Input Schema

{
  "type": "object",
  "properties": {
    "inputToken": {
      "type": "string",
      "description": "Address of the token being sold."
    },
    "outputToken": {
      "type": "string",
      "description": "Address of the token being bought."
    },
    "inputAmount": {
      "type": "string",
      "description": "Amount in base units (wei for 18-decimal tokens)."
    },
    "exactIn": {
      "type": "boolean",
      "description": "`true` (default) treats `inputAmount` as sell amount; `false` treats it as buy amount."
    }
  },
  "required": [
    "inputToken",
    "outputToken",
    "inputAmount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fuse_smart_stake_token(tokenAddress, tokenAmount)

Submits an ERC-4337 UserOperation that stakes a token using Fuse's staking module. List options first with `fuse_get_staking_options`.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Token to stake (must match a `fuse_get_staking_options` entry)."
    },
    "tokenAmount": {
      "type": "string",
      "description": "Amount in base units (wei for 18-decimal tokens)."
    }
  },
  "required": [
    "tokenAddress",
    "tokenAmount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fuse_smart_unstake_token(tokenAddress, tokenAmount, unstakeTokenAddress)

Submits an ERC-4337 UserOperation that unstakes a token via Fuse's staking module.

Input Schema

{
  "type": "object",
  "properties": {
    "tokenAddress": {
      "type": "string",
      "description": "Original staking-token address."
    },
    "tokenAmount": {
      "type": "string",
      "description": "Amount to unstake, in base units."
    },
    "unstakeTokenAddress": {
      "type": "string",
      "description": "Receipt token address paired with the stake (`unStakeTokenAddress` from `fuse_get_staking_options`)."
    }
  },
  "required": [
    "tokenAddress",
    "tokenAmount",
    "unstakeTokenAddress"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded50 tools
verifiedversion not recorded50 tools