Fuse Network
MCP server for Fuse Network: balances, tokens, staking, DeFi data, swaps and on-chain transactions.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (13)
- LOWin fuse_get_gas_price
- LOWin fuse_get_staked_tokens
- LOWin fuse_get_token_price_history
- LOWin fuse_trade_indicative_price
- LOWin fuse_get_account_abstraction_info
- LOWin fuse_notification_create_webhook
- LOWin fuse_notification_list_project_webhooks
- LOWin fuse_notification_update_webhook
- LOWin fuse_notification_delete_webhook
- LOWin fuse_notification_add_addresses
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.fuse.io/mcp"
}
}
}Remote-Endpunkte
https://mcp.fuse.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (50)
🟢fuse_get_balance(address, tokenAddress)
Returns the native FUSE balance for an address, or an ERC-20 token balance when `tokenAddress` is supplied.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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).
Eingabe-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`.
Eingabe-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`.
Eingabe-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`.
Eingabe-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`.
Eingabe-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`.
Eingabe-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`.
Eingabe-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`.
Eingabe-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.
Eingabe-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`.
Eingabe-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.
Eingabe-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).
Eingabe-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 }`).
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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`.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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`.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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`.
Eingabe-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.
Eingabe-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
Nachweis