Moralis Wallets API
The Wallets API from Moralis — 13 operation(s) for wallets.
The Wallets API from Moralis — 13 operation(s) for wallets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/moralis-wallets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: EVM Balance Wallets API
version: '2.2'
servers:
- url: https://deep-index.moralis.io/api/v2.2
security:
- ApiKeyAuth: []
tags:
- name: Wallets
paths:
/wallets/{address}/approvals:
get:
security:
- ApiKeyAuth: []
summary: Get ERC20 approvals by wallet
description: List active ERC20 token approvals for a wallet, showing which contracts have access.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletApprovals
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: path
name: address
description: The wallet address from which to retrieve active ERC20 token approvals
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
responses:
'200':
description: Returns active ERC20 token approvals for the specified wallet address
content:
application/json:
schema:
$ref: '#/components/schemas/walletApprovals'
x-mcp-prompt: Enter the wallet address to view its active ERC20 token approvals. Use this when users want to check a wallet’s token approvals or review security settings.
/wallets/{address}/history:
get:
security:
- ApiKeyAuth: []
summary: Get the complete decoded transaction history of a wallet
description: Get the complete decoded transaction history for a given wallet. All transactions are parsed, decoded, categorized and summarized into human-readable records.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletHistory
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: query
name: from_block
description: 'The minimum block number from which to get the transactions
* Provide the param ''from_block'' or ''from_date''
* If ''from_date'' and ''from_block'' are provided, ''from_block'' will be used.
'
required: false
schema:
type: integer
minimum: 0
- in: query
name: to_block
description: 'The maximum block number from which to get the transactions.
* Provide the param ''to_block'' or ''to_date''
* If ''to_date'' and ''to_block'' are provided, ''to_block'' will be used.
'
required: false
schema:
type: integer
minimum: 0
- in: query
name: from_date
description: 'The start date from which to get the transactions (format in seconds or datestring accepted by momentjs)
* Provide the param ''from_block'' or ''from_date''
* If ''from_date'' and ''from_block'' are provided, ''from_block'' will be used.
'
required: false
schema:
type: string
- in: query
name: to_date
description: 'Get the transactions up to this date (format in seconds or datestring accepted by momentjs)
* Provide the param ''to_block'' or ''to_date''
* If ''to_date'' and ''to_block'' are provided, ''to_block'' will be used.
'
schema:
type: string
- in: path
name: address
description: The address of the wallet
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: include_internal_transactions
description: If the result should contain the internal transactions.
required: false
schema:
type: boolean
- in: query
name: nft_metadata
description: If the result should contain the nft metadata.
required: false
schema:
type: boolean
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: query
name: order
description: The order of the result, in ascending (ASC) or descending (DESC)
required: false
schema:
$ref: '#/components/schemas/orderList'
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
responses:
'200':
description: Returns wallet history of a wallet address
content:
application/json:
schema:
$ref: '#/components/schemas/walletHistory'
x-mcp-prompt: Provide the wallet address to retrieve its complete history. Use this when users request a wallet’s full transaction log or want a detailed activity overview.
/wallets/{address}/tokens:
get:
security:
- ApiKeyAuth: []
summary: Get token balances with prices by wallet address
description: Fetch ERC20 and native token balances for a given wallet address, including their USD prices. Each token returned includes on-chain metadata, as well as off-chain metadata, logos, spam status and more. Additional options to exclude spam tokens, low-liquidity tokens and inactive tokens.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletTokenBalancesPrice
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: The address from which token balances will be checked
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: to_block
description: The block number up to which the balances will be checked.
required: false
schema:
type: number
- in: query
name: token_addresses
description: The addresses to get balances for (optional)
required: false
schema:
type: array
maxItems: 10
items:
type: string
- in: query
name: exclude_spam
description: Exclude spam tokens from the result
required: false
schema:
type: boolean
default: false
- in: query
name: exclude_unverified_contracts
description: Exclude unverified contracts from the result
required: false
schema:
type: boolean
default: false
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
- in: query
name: exclude_native
description: Exclude native balance from the result
required: false
schema:
type: boolean
default: false
- in: query
name: max_token_inactivity
description: Exclude tokens inactive for more than the given amount of days
required: false
schema:
type: number
- in: query
name: min_pair_side_liquidity_usd
description: Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.
required: false
schema:
type: number
responses:
'200':
description: Returns token balances with prices for a specific address
content:
application/json:
schema:
$ref: '#/components/schemas/erc20TokenBalanceWithPriceResult'
x-mcp-prompt: Enter the wallet address to view its ERC20 token balances and prices. Use this when users want a wallet’s token holdings with USD values or are assessing portfolio value.
/wallets/{address}/net-worth:
get:
security:
- ApiKeyAuth: []
summary: Get wallet net worth
description: Calculate the total net worth of a wallet in USD, with options to exclude spam tokens for accuracy. Options to query cross-chain using the `chains` parameter, as well as additional options to exclude spam tokens, low-liquidity tokens and inactive tokens.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletNetWorth
parameters:
- in: query
name: chains
description: The chains to query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: The wallet address
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: exclude_spam
description: Exclude spam tokens from the result
required: false
schema:
type: boolean
default: false
example: true
- in: query
name: exclude_unverified_contracts
description: Exclude unverified contracts from the result
required: false
schema:
type: boolean
default: false
example: true
- in: query
name: max_token_inactivity
description: Exclude tokens inactive for more than the given amount of days
required: false
schema:
type: number
example: 1
- in: query
name: min_pair_side_liquidity_usd
description: Exclude tokens with liquidity less than the specified amount in USD. This parameter refers to the liquidity on a single side of the pair.
required: false
schema:
type: number
example: 1000
responses:
'200':
description: Returns the net worth of a wallet in USD
content:
application/json:
schema:
$ref: '#/components/schemas/netWorthResult'
x-mcp-prompt: Provide the wallet address to calculate its net worth. Specify if spam tokens should be excluded. Use this when users ask for a wallet’s total value or want a portfolio valuation.
/wallets/{address}/defi/summary:
get:
security:
- ApiKeyAuth: []
summary: Get the DeFi summary of a wallet
description: Summarize a wallet’s DeFi activity, including total USD value, unclaimed rewards and active protocols.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getDefiSummary
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: Wallet address
required: true
schema:
type: string
example: '0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd'
responses:
'200':
description: Returns the defi summary for the wallet address.
content:
application/json:
schema:
$ref: '#/components/schemas/walletDefiSummary'
x-mcp-prompt: Enter the wallet address to view its DeFi summary. Use this when users want an overview of a wallet’s DeFi activity or are exploring DeFi investments.
/wallets/{address}/defi/{protocol}/positions:
get:
security:
- ApiKeyAuth: []
summary: Get detailed DeFi positions by protocol for a wallet
description: Fetch detailed DeFi positions for a given wallet and protocol.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getDefiPositionsByProtocol
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: Wallet address
required: true
schema:
type: string
example: '0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd'
- in: path
name: protocol
description: The protocol to query
required: true
schema:
$ref: '#/components/schemas/defiProtocolList'
example: aave-v3
responses:
'200':
description: Returns the defi positions by protocol for the wallet address.
content:
application/json:
schema:
type: object
properties:
protocol_name:
type: string
description: The name of the protocol
example: Uniswap v2
protocol_id:
type: string
description: The id of the protocol
example: uniswap-v2
protocol_url:
type: string
description: The url of the protocol
example: https://app.uniswap.org/pools/v2
protocol_logo:
type: string
description: The logo of the protocol
example: https://cdn.moralis.io/defi/uniswap.png
total_usd_value:
type: number
example: 47754.14278954011
total_unclaimed_usd_value:
type:
- number
- 'null'
example: null
positions:
type: array
items:
$ref: '#/components/schemas/defiProtocolPosition'
x-mcp-prompt: Provide the wallet address and protocol to view its DeFi positions. Use this when users ask for specific DeFi protocol activity or need detailed position data.
/wallets/{address}/defi/positions:
get:
security:
- ApiKeyAuth: []
summary: Get DeFi positions of a wallet
description: Get a concise overview of a wallet’s DeFi positions across all protocols.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getDefiPositionsSummary
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: Wallet address
required: true
schema:
type: string
example: '0xd100d8b69c5ae23d6aa30c6c3874bf47539b95fd'
responses:
'200':
description: Returns all defi positions for the wallet address.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/defiPositionSummaryResponse'
x-mcp-prompt: Enter the wallet address to retrieve its DeFi positions summary. Use this when users want a quick summary of a wallet’s DeFi holdings or are comparing protocols.
/wallets/{address}/chains:
get:
security:
- ApiKeyAuth: []
summary: Get active chains by wallet address
description: List the blockchain networks a wallet is active on, including their first and last seen timestamps. Options to query cross-chain using the `chains` parameter.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletActiveChains
parameters:
- in: path
name: address
description: Wallet address
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: chains
description: The chains to query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/chainList'
responses:
'200':
description: Returns the active chains for the wallet address.
content:
application/json:
schema:
$ref: '#/components/schemas/walletActiveChains'
x-mcp-prompt: Provide the wallet address to see its active chains. Use this when users ask which blockchains a wallet uses or want to analyze cross-chain activity.
/wallets/{address}/stats:
get:
security:
- ApiKeyAuth: []
summary: Get summary stats by wallet address
description: Retrieve key statistics for a wallet, such as total transaction count and activity.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletStats
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: Wallet address
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
responses:
'200':
description: Returns the stats for the wallet address.
content:
application/json:
schema:
$ref: '#/components/schemas/walletStat'
x-mcp-prompt: Enter the wallet address to fetch its stats. Use this when users want a wallet’s activity metrics or are analyzing its usage patterns.
/wallets/{address}/profitability/summary:
get:
security:
- ApiKeyAuth: []
summary: Get profit and loss summary by wallet address
description: Get a profit and loss summary for a given wallet, over a specified timeframe (`days`).
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletProfitabilitySummary
parameters:
- in: path
name: address
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
description: The wallet address for which profitability summary is to be retrieved.
- in: query
name: days
required: false
schema:
type: string
description: Timeframe in days for the profitability summary. Options include 'all', '7', '30', '60', '90' default is 'all'.
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
responses:
'200':
description: Successful response with the profitability summary.
content:
application/json:
schema:
type: object
properties:
total_count_of_trades:
type: number
description: Total count of trades executed by the wallet.
total_trade_volume:
type: string
description: Total trade volume managed by the wallet.
total_realized_profit_usd:
type: string
description: Total realized profit in USD for the wallet.
total_realized_profit_percentage:
type: number
description: Total realized profit as a percentage.
total_buys:
type: number
description: Total number of buy transactions.
total_sells:
type: number
description: Total number of sell transactions.
total_sold_volume_usd:
type: string
description: Total USD volume of tokens sold by the wallet.
total_bought_volume_usd:
type: string
description: Total USD volume of tokens bought by the wallet.
x-mcp-prompt: Provide the wallet address and a timeframe in `days`. Use this when users ask for a wallet’s profit and loss overview.
/wallets/{address}/profitability:
get:
security:
- ApiKeyAuth: []
summary: Get detailed profit and loss by wallet address
description: Get a detailed profit and loss breakdown by token for a given wallet, over a specified timeframe (`days`). Optionally filter by `token_addresses` for specific tokens.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletProfitability
parameters:
- in: path
name: address
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
description: The wallet address for which profitability is to be retrieved.
- in: query
name: days
required: false
schema:
type: string
description: Timeframe in days for which profitability is calculated, Options include 'all', '7', '30', '60', '90' default is 'all'.
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: query
name: token_addresses
description: The token addresses list to filter the result with
required: false
schema:
type: array
maxItems: 25
items:
type: string
responses:
'200':
description: Successful response with profitability data.
content:
application/json:
schema:
$ref: '#/components/schemas/WalletProfitabilityResponse'
x-mcp-prompt: Enter the wallet address and optional token addresses to analyze profitability. Use this when users want detailed profit data for a wallet or are evaluating specific token performance.
/wallets/{address}/swaps:
get:
security:
- ApiKeyAuth: []
summary: Get swap transactions by wallet address
description: List all swap transactions (buy/sell) for a specific wallet. Optionally filter by `tokenAddress` for specific token swaps.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getSwapsByWalletAddress
parameters:
- in: query
name: chain
description: The chain to query
required: false
schema:
$ref: '#/components/schemas/chainList'
- in: path
name: address
description: The wallet address token-transactions are to be retrieved for.
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: tokenAddress
description: The token address to get transaction for (optional)
required: false
schema:
type: string
- in: query
name: cursor
description: The cursor returned in the previous response (used for getting the next page).
schema:
type: string
- in: query
name: limit
description: The desired page size of the result.
required: false
schema:
type: integer
minimum: 0
- in: query
name: fromBlock
description: 'The minimum block number from which to get the token transactions
* Provide the param ''from_block'' or ''from_date''
* If ''from_date'' and ''from_block'' are provided, ''from_block'' will be used.
'
required: false
schema:
type: integer
minimum: 0
- in: query
name: toBlock
description: The block number to get the token transactions from
required: false
schema:
type: string
- in: query
name: fromDate
description: 'The start date from which to get the token transactions (format in seconds or datestring accepted by momentjs)
* Provide the param ''from_block'' or ''from_date''
* If ''from_date'' and ''from_block'' are provided, ''from_block'' will be used.
'
required: false
schema:
type: string
- in: query
name: toDate
description: 'The end date from which to get the token transactions (format in seconds or datestring accepted by momentjs)
* Provide the param ''to_block'' or ''to_date''
* If ''to_date'' and ''to_block'' are provided, ''to_block'' will be used.
'
required: false
schema:
type: string
- in: query
name: order
description: The order of the result, in ascending (ASC) or descending (DESC)
required: false
schema:
$ref: '#/components/schemas/orderList'
- name: transactionTypes
in: query
required: false
schema:
type: string
description: Array of transaction types. Allowed values are 'buy', 'sell'.
responses:
'200':
description: Returns swap transactions by wallet address.
content:
application/json:
schema:
$ref: '#/components/schemas/getSwapsByWalletAddressResponse'
x-mcp-prompt: Provide the wallet address to view its swap transactions. Use this when users want to track a wallet's swap activity or analyze its trading behavior.
/wallets/{address}/insight:
get:
security:
- ApiKeyAuth: []
summary: Get wallet insight metrics
description: Retrieve comprehensive wallet insight metrics including activity age, transfer counts, counterparties, and swap volume.
tags:
- Wallets
x-tag-sdk: wallets
operationId: getWalletInsight
parameters:
- in: path
name: address
description: The wallet address to get insight for
required: true
schema:
type: string
example: '0xcB1C1FdE09f811B294172696404e88E658659905'
- in: query
name: chains
description: The chains to query. If not provided, aggregates across all supported chains.
required: false
schema:
type: array
items:
type: string
example:
- '0x1'
- '0x89'
- in: query
name: includeChainBreakdown
description: When true, includes a per-chain breakdown array in the response with both native and USD values.
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Returns wallet insight metrics.
content:
application/json:
schema:
$ref: '#/components/schemas/WalletInsightResponse'
x-mcp-prompt: Provide the wallet address to get comprehensive insight metrics. Use this when users want to analyze wallet behavior, activity patterns, or counterparty relationships.
components:
schemas:
decodedEvent:
type: object
properties:
signature:
type: string
example: Transfer(address,address,uint256)
label:
type: string
example: Transfer
type:
type: string
example: event
params:
type: array
items:
type: object
properties:
name:
type: string
example: from
value:
type: string
example: '0x26C5011483Add49801eA8E3Ee354fE013895aCe5'
type:
type: string
example: address
getSwapsByWalletAddressResponse:
required:
- result
properties:
page:
type: integer
description: The current page of the result
example: '2'
page_size:
type: integer
description: The number of results per page
example: '100'
cursor:
type: string
description: The cursor to get to the next page
result:
type: array
items:
$ref: '#/components/schemas/swapsByWalletAddressResult'
WalletProfitabilityTokenData:
type: object
required:
- token_address
- avg_buy_price_usd
- avg_sell_price_usd
- total_usd_invested
- total_tokens_sold
- total_tokens_bought
- total_sold_usd
- avg_cost_of_quantity_sold
- count_of_trades
- realized_profit_usd
- realized_profit_percentage
- total_buys
- total_sells
- name
- symbol
- decimals
- logo
- possible_spam
properties:
token_address:
type: string
description: The address of the traded token.
avg_buy_price_usd:
type: string
description: Average buy price in USD.
avg_sell_price_usd:
type: string
description: Average sell price in USD.
total_usd_invested:
type: string
description: Total USD invested.
total_tokens_sold:
type: string
description: Total tokens sold.
total_tokens_bought:
type: string
description: Total tokens bought.
total_sold_usd:
type: string
description: Total USD received from selling tokens.
avg_cost_of_quantity_sold:
type: string
description: Average cost of sold quantity.
count_of_trades:
type: number
description: Count of trades for the token.
realized_profit_usd:
type: string
description: Realized profit in USD for the token.
realized_profit_percentage:
type: number
description: Realized profit percentage for the token.
total_buys:
type: number
description: Total number of buys.
total_sells:
type: number
description: Total number of sells.
name:
type: string
description: Name of the token.
symbol:
type: string
description: Symbol of the token.
decimals:
type: string
description: Decimals of the token.
logo:
type: string
description: Logo URL of the token.
possible_spam:
type: boolean
description: Indicates whether the token is possibly spam.
SetRevokeAllResponse:
type: object
properties:
set_revokes_all:
type: array
items:
$ref: '#/components/schemas/SetApprovalAllData'
netWorthResult:
required:
- total_networth_usd
- chains
properties:
total_networth_usd:
type: string
description: The total networth in USD
example: '3879851.41'
chains:
type: array
items:
$ref: '#/components/schemas/chainNetWorth'
unsupported_chain_ids:
type: array
items:
type: string
description: The chain ids that are not supported
unavailable_chains:
type: array
items:
$ref: '#/components/schemas/unavailableChainNetWorth'
description: The chains that are not available during the request
ApprovalData:
type: object
properties:
value:
type: string
value_formatted:
type:
- string
- 'null'
token:
$ref: '#/components/schemas/TokenDetails'
spender:
$ref: '#/components/schemas/SpenderDetails'
walletActiveChain:
required:
- chain
- chain_id
properties:
chain:
type: string
description: The chain name
example: eth
chain_id:
type: string
description: The chain id
example: '0x1'
first_transaction:
$ref: '#/components/schemas/transactionTimestamp'
last_tran
# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moralis/refs/heads/main/openapi/moralis-wallets-api-openapi.yml