The Smart Wallet API provides a Wallets-as-a-Service (WaaS) layer for your cross-platform applications. It lets you authenticate users via their Externally Owned Accounts (EOAs), deploy upgradable ERC-4337 smart contract wallets on the Fuse network, and relay gasless transactions through the Fuse relayer service. Each wallet is non-custodial — the owner signs messages and the relayer submits them on-chain, so users pay no gas directly.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fuseio/fuse-docs/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
Authentication
Authenticate the user (POST /auth)
Call the
/auth endpoint with the user’s signed EIP-191 message to receive a short-lived JWT.Endpoints
POST /auth — Authenticate user
Authenticate a user by verifying a signed EIP-191 message. Returns a JWT that authorizes subsequent requests on behalf of that user. Endpoint:POST https://api.fuse.io/api/v2/smart-wallets/auth?apiKey={apiKey}
Request parameters
Your public API key.
Request body
The hash of the message the user signed.
The EIP-191 signature produced by the user’s EOA private key.
The EOA address that produced the signature.
The user’s existing smart contract wallet address, if one has already been deployed.
Response
A short-lived JWT. Include this as
Authorization: Bearer <jwt> on subsequent requests.Example
GET /actions — Get wallet actions
Retrieve the transaction history (sent and received token transfers) for the authenticated user’s smart wallet. Requires a valid JWT from the/auth endpoint.
Endpoint: GET https://api.fuse.io/api/v2/smart-wallets/actions?apiKey={apiKey}
Request parameters
Your public API key.
Page number for pagination.
Number of action items to return per page.
Filter results to actions involving a specific token contract address.
Response
Array of wallet action objects.
Example
Error responses
| Status | Description |
|---|---|
400 | Bad request — malformed body or missing required fields |
401 | Unauthorized — JWT is missing or has expired |
403 | Forbidden — invalid or missing apiKey |