Mobula API
Compliance Checks
1 issue
- OpenAPI doc exceeds 64KB limit (658805 bytes)
Paid Operations (60)
GET /api/2/fast-search dynamic USD
Performs a fast fuzzy search across all indexed tokens, DEX pools, and wallets. Matches against token name, symbol, contract address, pool pair name, and wallet address. Returns ranked results with logo URLs, chain info, market cap, and relevance score. Use for building search bars, token pickers, or address resolution in agent workflows.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| input | query | string | Yes | Search query string |
| type | query | string | No | Type of results to return |
| filters | query | string | No | JSON string with filter options: blockchains, poolTypes, excludeBonded, bondedOnly |
| sortBy | query | string | No | Sort field for search results |
| excludeBonded | query | boolean | No | Exclude bonded tokens from results |
| limit | query | number | No | Maximum number of results (1-20, default: 5) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/wallet/defi-positions dynamic USD
Returns all DeFi protocol positions for a wallet: active liquidity pool positions (with token pair, range, fees earned), lending/borrowing positions (supplied collateral, borrowed amount, health factor), staking positions, and yield farming positions. Covers major protocols across all indexed chains (Aave, Compound, Uniswap, Curve, Lido, Eigenlayer, Marinade, etc.). Use for complete DeFi portfolio tracking or risk monitoring.
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | Yes | Wallet address (EVM or Solana) | |
| blockchains | query | string | Yes | Blockchain to fetch positions from (e.g., "solana", "ethereum") |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| wallets | array[string] | - |
GET /api/2/wallet/deployer dynamic USD
Checks whether a wallet address has deployed smart contracts and lists all tokens/contracts it created. Returns contract addresses, deployment dates, and token metadata for each deployed contract. Use for due diligence on token creators, identifying serial deployers, or tracing the origin of a token to its deployer wallet.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | - |
| blockchain | query | string | Yes | - |
| page | query | string | No | - |
| limit | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
| wallet | object | - |
GET /api/2/wallet/positions dynamic USD
Returns the complete token portfolio for a wallet: every token held with balance, USD value, price, 24h change, realized/unrealized PnL, cost basis, and full token metadata (name, symbol, logo, chain). Supports filtering by blockchain to reduce scope and cost. The primary endpoint for building wallet portfolio views, tracking holdings, or calculating net worth.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| limit | query | number | No | Number of positions per page (1-500, default: 100) |
| offset | query | number | No | Offset for pagination (default: 0) |
| cursor | query | string | No | Cursor for cursor-based pagination (takes precedence over offset) |
| cursorDirection | query | string | No | Cursor direction (default: after) |
| sortBy | query | string | No | Sort field (default: lastActivity) |
| order | query | string | No | Sort order (default: desc) |
| includeFees | query | Yes | Include fees in PnL calculation (deduct total_fees_paid_usd from PnL) | |
| useSwapRecipient | query | Yes | Use swap recipient mode (query wallet_positions_recipients table instead of wallet_positions) | |
| includeAllBalances | query | Yes | Include all tokens the wallet holds, not just tokens with trading history |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
| wallet | object | - |
POST /api/2/wallet/positions dynamic USD
Batch endpoint to fetch all positions for multiple wallets in a single request. Each wallet can have its own pagination, sorting, and chain filtering. Max 10 wallets per request.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"blockchains": {
"description": "Array of blockchain IDs (e.g., [\"ethereum\",\"base\"]). If omitted, all chains.",
"items": {
"type": "string"
},
"type": "array"
},
"includeAllBalances": {
"description": "Include all tokens the wallet holds",
"type": "boolean"
},
"limit": {
"description": "Number of positions per page (1-500, default: 100)",
"maximum": 500,
"minimum": 1,
"type": "number"
},
"offset": {
"description": "Offset for pagination (default: 0)",
"minimum": 0,
"type": "number"
},
"order": {
"description": "Sort order (default: desc)",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"sortBy": {
"description": "Sort field (default: lastActivity)",
"enum": [
"lastActivity",
"realizedPnl"
],
"type": "string"
},
"useSwapRecipient": {
"description": "Use swap recipient mode",
"type": "boolean"
},
"wallet": {
"description": "Wallet address",
"type": "string"
}
},
"required": [
"wallet"
],
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"blockchains": {
"description": "Array of blockchain IDs (e.g., [\"ethereum\",\"base\"]). If omitted, all chains.",
"items": {
"type": "string"
},
"type": "array"
},
"includeAllBalances": {
"description": "Include all tokens the wallet holds",
"type": "boolean"
},
"limit": {
"description": "Number of positions per page (1-500, default: 100)",
"maximum": 500,
"minimum": 1,
"type": "number"
},
"offset": {
"description": "Offset for pagination (default: 0)",
"minimum": 0,
"type": "number"
},
"order": {
"description": "Sort order (default: desc)",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"sortBy": {
"description": "Sort field (default: lastActivity)",
"enum": [
"lastActivity",
"realizedPnl"
],
"type": "string"
},
"useSwapRecipient": {
"description": "Use swap recipient mode",
"type": "boolean"
},
"wallet": {
"description": "Wallet address",
"type": "string"
}
},
"required": [
"wallet"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/wallet/position dynamic USD
Get position data for a specific wallet and asset. Returns balance, PnL, buy/sell volumes, and token details.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| asset | query | string | Yes | Token contract address |
| blockchain | query | string | No | Blockchain ID (e.g., "ethereum", "solana:solana") |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| wallet | object | - |
POST /api/2/wallet/position dynamic USD
Batch endpoint to fetch multiple wallet positions in a single request. Optimized with parallel RPC calls using getMultipleAccounts for Solana. Supports up to 100 positions per request.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"asset": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain ID (e.g., \"ethereum\", \"solana:solana\")",
"type": "string"
},
"wallet": {
"description": "Wallet address",
"type": "string"
}
},
"required": [
"wallet",
"asset",
"blockchain"
],
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"asset": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain ID (e.g., \"ethereum\", \"solana:solana\")",
"type": "string"
},
"wallet": {
"description": "Wallet address",
"type": "string"
}
},
"required": [
"wallet",
"asset",
"blockchain"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/token/holder-positions dynamic USD
Returns the top holders for a token ranked by balance. Each entry includes wallet address, token balance, percentage of supply held, USD value, wallet labels (e.g. INSIDER, SNIPER, BUNDLER, CEX), and entity name if identified. Use for whale watching, concentration analysis, and supply distribution audits.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Token contract address |
| label | query | string | No | Filter by wallet label (e.g. sniper, bundler, insider) |
| limit | query | number | No | Maximum number of results (default: 100) |
| offset | query | number | No | Offset for pagination |
| walletAddresses | query | No | Comma-separated wallet addresses to filter | |
| useSwapRecipient | query | Yes | Use swap recipient mode for accurate Account Abstraction tracking | |
| includeFees | query | Yes | Include total fees paid (gas + platform + MEV) and deduct from PnL |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| totalCount | number | - |
POST /api/2/token/holder-positions dynamic USD
Batch variant: fetch top holders for multiple tokens in one request. Use for comparing holder concentration across tokens or building cross-token whale tracking dashboards.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"includeFees": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Include total fees paid (gas + platform + MEV) and deduct from PnL"
},
"label": {
"description": "Filter by wallet label (e.g. sniper, bundler, insider)",
"enum": [
"sniper",
"insider",
"bundler",
"proTrader",
"smartTrader",
"freshTrader",
"dev",
"liquidityPool"
],
"type": "string"
},
"limit": {
"description": "Maximum number of results (default: 100)",
"nullable": true,
"type": "number"
},
"offset": {
"description": "Offset for pagination",
"nullable": true,
"type": "number"
},
"useSwapRecipient": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Use swap recipient mode for accurate Account Abstraction tracking"
},
"walletAddresses": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Comma-separated wallet addresses to filter"
}
},
"required": [
"useSwapRecipient",
"includeFees"
],
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"includeFees": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Include total fees paid (gas + platform + MEV) and deduct from PnL"
},
"label": {
"description": "Filter by wallet label (e.g. sniper, bundler, insider)",
"enum": [
"sniper",
"insider",
"bundler",
"proTrader",
"smartTrader",
"freshTrader",
"dev",
"liquidityPool"
],
"type": "string"
},
"limit": {
"description": "Maximum number of results (default: 100)",
"nullable": true,
"type": "number"
},
"offset": {
"description": "Offset for pagination",
"nullable": true,
"type": "number"
},
"useSwapRecipient": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Use swap recipient mode for accurate Account Abstraction tracking"
},
"walletAddresses": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Comma-separated wallet addresses to filter"
}
},
"required": [
"useSwapRecipient",
"includeFees"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/token/details dynamic USD
Returns comprehensive metadata and market data for a token. Includes name, symbol, logo URL, decimals, total supply, circulating supply, deployer address, contract age, website, social links (Twitter, Telegram, Discord), CoinGecko/CMC IDs, description text, tags, spam score, and real-time price/volume/liquidity data. The most complete single endpoint for building a token profile page.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Token contract address |
| currencies | query | string | No | Comma-separated list of currencies for price conversion |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| hostname | string | - |
POST /api/2/token/details dynamic USD
Batch variant: fetch full token details for multiple tokens. Send an array of {address, blockchain} objects. Same comprehensive response per token.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"currencies": {
"description": "Comma-separated list of currencies for price conversion",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"currencies": {
"description": "Comma-separated list of currencies for price conversion",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/token/ath dynamic USD
Retrieve All-Time High (ATH) and All-Time Low (ATL) values for a token, along with the dates when these values were recorded.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Token contract address |
| currencies | query | string | No | Comma-separated list of currencies for price conversion |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| hostname | string | - |
POST /api/2/token/ath dynamic USD
Retrieve All-Time High (ATH) and All-Time Low (ATL) values for multiple tokens in a single request.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"currencies": {
"description": "Comma-separated list of currencies for price conversion",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"currencies": {
"description": "Comma-separated list of currencies for price conversion",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/token/security dynamic USD
Performs a comprehensive on-chain security audit for a token contract. Returns honeypot detection (can you sell?), buy/sell tax percentages, transfer restrictions, contract verification status, proxy detection, top holder concentration (whale %), deployer wallet info, renounced ownership check, and liquidity lock status. Essential for rug-pull risk assessment before trading.
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | Yes | Token contract address |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| hostname | string | - |
GET /api/2/token/trader-positions dynamic USD
Returns the top traders for a token ranked by realized PnL or trading volume. Each entry includes wallet address, total buy/sell volumes, realized PnL in USD, number of trades, average entry/exit prices, and wallet labels (PRO_TRADER, SMART_TRADER, etc.). Use for identifying alpha wallets, copy-trade candidates, or insider activity on a token.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Token contract address |
| label | query | string | No | Filter by wallet label (e.g. sniper, bundler, insider) |
| limit | query | number | No | Maximum number of results (default: 100) |
| offset | query | number | No | Offset for pagination |
| walletAddresses | query | No | Comma-separated wallet addresses to filter | |
| useSwapRecipient | query | Yes | Use swap recipient mode for accurate Account Abstraction tracking | |
| includeFees | query | Yes | Include total fees paid (gas + platform + MEV) and deduct from PnL |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| totalCount | number | - |
POST /api/2/token/trader-positions dynamic USD
Batch variant: fetch top traders across multiple tokens. Use for cross-token alpha discovery or building a leaderboard of traders active across your watchlist.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"includeFees": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Include total fees paid (gas + platform + MEV) and deduct from PnL"
},
"label": {
"description": "Filter by wallet label (e.g. sniper, bundler, insider)",
"enum": [
"sniper",
"insider",
"bundler",
"proTrader",
"smartTrader",
"freshTrader",
"dev",
"liquidityPool"
],
"type": "string"
},
"limit": {
"description": "Maximum number of results (default: 100)",
"nullable": true,
"type": "number"
},
"offset": {
"description": "Offset for pagination",
"nullable": true,
"type": "number"
},
"useSwapRecipient": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Use swap recipient mode for accurate Account Abstraction tracking"
},
"walletAddresses": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Comma-separated wallet addresses to filter"
}
},
"required": [
"useSwapRecipient",
"includeFees"
],
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"description": "Token contract address",
"type": "string"
},
"blockchain": {
"description": "Blockchain name or chain ID",
"type": "string"
},
"includeFees": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Include total fees paid (gas + platform + MEV) and deduct from PnL"
},
"label": {
"description": "Filter by wallet label (e.g. sniper, bundler, insider)",
"enum": [
"sniper",
"insider",
"bundler",
"proTrader",
"smartTrader",
"freshTrader",
"dev",
"liquidityPool"
],
"type": "string"
},
"limit": {
"description": "Maximum number of results (default: 100)",
"nullable": true,
"type": "number"
},
"offset": {
"description": "Offset for pagination",
"nullable": true,
"type": "number"
},
"useSwapRecipient": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Use swap recipient mode for accurate Account Abstraction tracking"
},
"walletAddresses": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Comma-separated wallet addresses to filter"
}
},
"required": [
"useSwapRecipient",
"includeFees"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/wallet/activity dynamic USD
Returns a chronological feed of all on-chain activity for a wallet: token swaps, ERC-20 transfers, NFT transfers, contract approvals, and native currency sends/receives. Each activity includes tx hash, block, timestamp, from/to addresses, token metadata, and USD value. Use for building wallet activity timelines or transaction history views.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana") |
| offset | query | number | No | Offset for pagination (default: 0) |
| limit | query | number | No | Number of transactions per page (default: 100) |
| order | query | string | No | Sort order: asc or desc (default: desc) |
| unlistedAssets | query | No | Include unlisted assets (default: true) | |
| filterSpam | query | No | Filter spam transactions (default: true) | |
| cursorHash | query | string | No | Cursor hash for cursor-based pagination |
| cursorDirection | query | string | No | Cursor direction: before or after |
| from | query | number | No | Start timestamp in milliseconds |
| to | query | number | No | End timestamp in milliseconds |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| backfillStatus | string | - |
| data | array[object] | - |
| pagination | object | - |
| tokens | array[object] | - |
GET /api/2/wallet/analysis dynamic USD
Performs a comprehensive trading performance analysis for a wallet. Returns win rate, total realized PnL, average trade size, best/worst trades, total volume, number of tokens traded, most-traded tokens, and performance breakdown over time periods (24h, 7d, 30d, all-time). Use for evaluating a trader skill, due diligence on copy-trade candidates, or building trader leaderboards.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address to analyze |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| period | query | string | No | Analysis period: 1d, 7d, 30d, or 90d (default: 7d) |
| from | query | number | No | Start timestamp in milliseconds (alternative to period) |
| to | query | number | No | End timestamp in milliseconds (alternative to period) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
GET /api/2/wallet/trades dynamic USD
Retrieve swap trades for one or more wallets. Supports filtering by token, blockchain, and date range. Returns paginated results with base/quote token metadata, fees breakdown, and wallet labels.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| tokenAddress | query | string | No | Filter trades involving this token contract address |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| limit | query | number | No | Number of trades per page (1-100, default: 50) |
| offset | query | number | No | Offset for pagination (default: 0) |
| order | query | string | No | Sort order: asc or desc (default: desc) |
| from | query | number | No | Start timestamp in milliseconds |
| to | query | number | No | End timestamp in milliseconds |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
POST /api/2/wallet/trades dynamic USD
Same as GET /2/wallet/trades but accepts parameters in the request body. Useful for complex queries or when passing multiple wallet addresses.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| blockchains | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| from | number | No | Start timestamp in milliseconds |
| limit | number | No | Number of trades per page (1-100, default: 50) |
| offset | number | No | Offset for pagination (default: 0) |
| order | string | No |
Sort order: asc or desc (default: desc)
enum: asc, desc |
| to | number | No | End timestamp in milliseconds |
| tokenAddress | string | No | Filter trades involving this token contract address |
| wallet | string | Yes | Wallet address |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
GET /api/2/market/details dynamic USD
Returns detailed data for a specific DEX pool/pair by its pool contract address. Includes current price, token0/token1 metadata (name, symbol, logo, decimals), reserves, 24h volume, fee tier, pool type (uniswap-v2, uniswap-v3, curve, bonding-curve, raydium, etc.), creation date, and liquidity in USD. Use for pair-level analytics, LP monitoring, or DEX aggregator integrations.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | - |
| address | query | string | No | - |
| baseToken | query | string | No | - |
| currencies | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| hostname | string | - |
POST /api/2/market/details dynamic USD
Batch variant: fetch details for multiple DEX pools in one request. Send an array of {address, blockchain} objects. Use for multi-pair dashboards or monitoring a set of liquidity pools.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"baseToken": {
"type": "string"
},
"blockchain": {
"type": "string"
},
"currencies": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"type": "string"
},
"baseToken": {
"type": "string"
},
"blockchain": {
"type": "string"
},
"currencies": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/token/price dynamic USD
Fetch current token price, market cap, liquidity and other market data. Returns data with USD suffix naming convention (priceUSD, marketCapUSD, etc.). For historical point-in-time prices, use `/2/token/price-at`.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | - |
| address | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
POST /api/2/token/price dynamic USD
Fetch current price, market cap, liquidity and other market data for multiple tokens in a single batch. Returns data with USD suffix naming convention. Max 500 items per request. For historical point-in-time prices, use `POST /2/token/price-at`.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"blockchain": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"type": "string"
},
"blockchain": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| payload | array | - |
GET /api/2/token/price-at dynamic USD
Get the price of a token at a specific point in time. Finds the closest swap to the given unix timestamp. Returns the price, the actual swap timestamp, and the pool address used.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | - |
| address | query | string | No | - |
| timestamp | query | integer | Yes | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
POST /api/2/token/price-at dynamic USD
Get historical prices for multiple tokens at specific timestamps in a single batch. Each item requires a `timestamp` (unix seconds). Max 100 items per request.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"blockchain": {
"type": "string"
},
"timestamp": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "integer"
}
},
"required": [
"timestamp"
],
"type": "object"
},
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"type": "string"
},
"blockchain": {
"type": "string"
},
"timestamp": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "integer"
}
},
"required": [
"timestamp"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| payload | array | - |
GET /api/2/token/markets dynamic USD
Lists every DEX pool/market where a token is traded on its chain. Returns pool addresses, pair tokens (base/quote with symbols and logos), liquidity in USD, 24h volume, pool type (Uniswap V2/V3, Curve, PumpFun bonding curve, etc.), and fee tier. Use this to discover where a token has the deepest liquidity or to compare spreads across AMMs.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | - |
| address | query | string | Yes | - |
| limit | query | number | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| totalCount | number | - |
GET /api/2/token/trade dynamic USD
Looks up a single DEX trade by its transaction hash. Returns full trade details: tokens swapped, amounts, USD value, pool address, block, timestamp, and the trading wallet address. Use this to verify a specific swap or to enrich transaction data with trade context.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | Yes | Blockchain name or chain ID |
| transactionHash | query | string | Yes | Transaction hash |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
GET /api/2/swap/quoting dynamic USD
Get a swap quote with optimized routing across multiple DEXs and liquidity sources. Returns estimated output amount, slippage, and a serialized transaction ready to be signed. Either `amount` (human-readable) or `amountRaw` (raw amount as string) must be provided, but not both.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| chainId | query | string | Yes | - |
| tokenIn | query | string | Yes | - |
| tokenOut | query | string | Yes | - |
| amount | query | string | No | - |
| amountRaw | query | string | No | - |
| slippage | query | string | No | - |
| walletAddress | query | string | Yes | - |
| excludedProtocols | query | string | No | - |
| onlyProtocols | query | string | No | - |
| poolAddress | query | string | No | - |
| onlyRouters | query | string | No | - |
| priorityFee | query | string | No | - |
| computeUnitLimit | query | string | No | - |
| jitoTipLamports | query | string | No | - |
| feePercentage | query | string | No | - |
| feeWallet | query | string | No | - |
| payerAddress | query | string | No | - |
| multiLander | query | string | No | - |
| landerTipLamports | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | - | |
| error | string | - |
GET /api/2/swap/quoting-instructions dynamic USD
Get swap quote instructions for building transactions with custom logic. Returns routing information and detailed instructions.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| chainId | query | string | Yes | - |
| tokenIn | query | string | Yes | - |
| tokenOut | query | string | Yes | - |
| amount | query | string | No | - |
| amountRaw | query | string | No | - |
| slippage | query | string | No | - |
| walletAddress | query | string | Yes | - |
| excludedProtocols | query | string | No | - |
| onlyProtocols | query | string | No | - |
| poolAddress | query | string | No | - |
| onlyRouters | query | string | No | - |
| priorityFee | query | string | No | - |
| computeUnitLimit | query | string | No | - |
| jitoTipLamports | query | string | No | - |
| feePercentage | query | string | No | - |
| feeWallet | query | string | No | - |
| payerAddress | query | string | No | - |
| multiLander | query | string | No | - |
| landerTipLamports | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| error | string | - |
POST /api/2/swap/send dynamic USD
Submit a signed swap transaction to the blockchain
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| awaitLanding | boolean | No | |
| candidates | array | No | |
| chainId | string | Yes | |
| signedTransaction | string | No |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| error | string | - |
GET /api/2/token/trades dynamic USD
Retrieve trades for a specific token or pool with pagination, filtering by swap types, addresses, dates, and amounts.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Token or pool contract address |
| offset | query | number | No | Offset for pagination (default: 0) |
| limit | query | number | No | Number of trades per page (default: 10) |
| sortOrder | query | string | Yes | Sort order: asc or desc (default: desc) |
| label | query | string | No | Filter by wallet label (e.g., sniper, insider, bundler) |
| swapTypes | query | No | Comma-separated swap types to filter (e.g., "REGULAR,MEV") | |
| type | query | string | No | Filter by trade direction: "buy" or "sell" |
| transactionSenderAddresses | query | No | Comma-separated wallet addresses to filter (max 25) | |
| maxAmountUSD | query | number | No | Maximum trade amount in USD |
| minAmountUSD | query | number | No | Minimum trade amount in USD |
| fromDate | query | No | Start date filter (timestamp or ISO string) | |
| toDate | query | No | End date filter (timestamp or ISO string) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
POST /api/2/token/trades dynamic USD
Retrieve trades for a specific token or pool with pagination, filtering by swap types, addresses, dates, and amounts. Use POST for complex filter queries.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| address | string | No | Token or pool contract address |
| blockchain | string | No | Blockchain name or chain ID |
| fromDate | No | Start date filter (timestamp or ISO string) | |
| label | string | No |
Filter by wallet label (e.g., sniper, insider, bundler)
enum: sniper, insider, bundler, proTrader, smartTrader, freshTrader, dev, liquidityPool |
| limit | number | No | Number of trades per page (default: 10) |
| maxAmountUSD | number | No | Maximum trade amount in USD |
| minAmountUSD | number | No | Minimum trade amount in USD |
| offset | number | Yes | Offset for pagination (default: 0) |
| sortOrder | string | Yes |
Sort order: asc or desc (default: desc)
enum: asc, desc |
| swapTypes | No | Comma-separated swap types to filter (e.g., "REGULAR,MEV") | |
| toDate | No | End date filter (timestamp or ISO string) | |
| transactionSenderAddresses | No | Comma-separated wallet addresses to filter (max 25) | |
| type | string | No |
Filter by trade direction: "buy" or "sell"
enum: buy, sell |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/token/trades-enriched dynamic USD
Retrieve enriched trades for a specific pool/pair. Returns the same BaseMessageType format as WebSocket streams, including full pairData (MarketDetailsOutput) and tokenData (TokenDetailsOutput).
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| blockchain | query | string | No | Blockchain name or chain ID |
| address | query | string | No | Pool/pair contract address |
| offset | query | number | No | Offset for pagination (default: 0) |
| limit | query | number | No | Number of trades per page (default: 10) |
| sortOrder | query | string | Yes | Sort order: asc or desc (default: desc) |
| label | query | string | No | Filter by wallet label (e.g., sniper, insider, bundler) |
| swapTypes | query | No | Comma-separated swap types to filter (e.g., "REGULAR,MEV") | |
| type | query | string | No | Filter by trade direction: "buy" or "sell" |
| transactionSenderAddresses | query | No | Comma-separated wallet addresses to filter (max 25) | |
| maxAmountUSD | query | number | No | Maximum trade amount in USD |
| minAmountUSD | query | number | No | Minimum trade amount in USD |
| fromDate | query | No | Start date filter (timestamp or ISO string) | |
| toDate | query | No | End date filter (timestamp or ISO string) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
POST /api/2/token/trades-enriched dynamic USD
Retrieve enriched trades for a specific pool/pair. Use POST for complex filter queries. Returns the same BaseMessageType format as WebSocket streams.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| address | string | No | Pool/pair contract address |
| blockchain | string | No | Blockchain name or chain ID |
| fromDate | No | Start date filter (timestamp or ISO string) | |
| label | string | No |
Filter by wallet label (e.g., sniper, insider, bundler)
enum: sniper, insider, bundler, proTrader, smartTrader, freshTrader, dev, liquidityPool |
| limit | number | No | Number of trades per page (default: 10) |
| maxAmountUSD | number | No | Maximum trade amount in USD |
| minAmountUSD | number | No | Minimum trade amount in USD |
| offset | number | Yes | Offset for pagination (default: 0) |
| sortOrder | string | Yes |
Sort order: asc or desc (default: desc)
enum: asc, desc |
| swapTypes | No | Comma-separated swap types to filter (e.g., "REGULAR,MEV") | |
| toDate | No | End date filter (timestamp or ISO string) | |
| transactionSenderAddresses | No | Comma-separated wallet addresses to filter (max 25) | |
| type | string | No |
Filter by trade direction: "buy" or "sell"
enum: buy, sell |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/market/ohlcv-history dynamic USD
Retrieve OHLCV (Open, High, Low, Close, Volume) candlestick data for a specific pool/market by its address.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | - |
| chainId | query | string | Yes | - |
| from | query | No | - | |
| to | query | No | - | |
| period | query | string | No | - |
| amount | query | number | No | - |
| usd | query | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
POST /api/2/market/ohlcv-history dynamic USD
Retrieve OHLCV data for multiple pools/markets in a single request (up to 10 markets).
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"amount": {
"nullable": true,
"type": "number"
},
"chainId": {
"type": "string"
},
"from": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"period": {
"type": "string"
},
"to": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"usd": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"default": true
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
{
"properties": {
"markets": {
"items": {
"properties": {
"address": {
"type": "string"
},
"amount": {
"nullable": true,
"type": "number"
},
"chainId": {
"type": "string"
},
"from": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"period": {
"type": "string"
},
"to": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"usd": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"default": true
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
}
},
"required": [
"markets"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/token/ohlcv-history dynamic USD
Retrieve OHLCV (Open, High, Low, Close, Volume) candlestick data for a specific token by its address.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | - |
| chainId | query | string | Yes | - |
| from | query | No | - | |
| to | query | No | - | |
| period | query | string | No | - |
| amount | query | number | No | - |
| usd | query | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
POST /api/2/token/ohlcv-history dynamic USD
Retrieve OHLCV data for multiple tokens in a single request (up to 10 tokens).
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"amount": {
"nullable": true,
"type": "number"
},
"chainId": {
"type": "string"
},
"from": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"period": {
"type": "string"
},
"to": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"usd": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"default": true
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
{
"properties": {
"tokens": {
"items": {
"properties": {
"address": {
"type": "string"
},
"amount": {
"nullable": true,
"type": "number"
},
"chainId": {
"type": "string"
},
"from": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"period": {
"type": "string"
},
"to": {
"anyOf": [
{
"nullable": true,
"type": "integer"
},
{
"nullable": true,
"type": "string"
},
{
"nullable": true
}
]
},
"usd": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"default": true
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
}
},
"required": [
"tokens"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/asset/price-history dynamic USD
Retrieve historical price data for a specific asset.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | No | - |
| chainId | query | string | No | - |
| id | query | number | No | - |
| period | query | string | No | - |
| from | query | number | No | - |
| to | query | number | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
POST /api/2/asset/price-history dynamic USD
Retrieve historical price data for multiple assets in a single request (up to 10 assets).
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"from": {
"default": 0,
"nullable": true,
"type": "number"
},
"id": {
"nullable": true,
"type": "number"
},
"period": {
"type": "string"
},
"to": {
"default": 1775481778715,
"nullable": true,
"type": "number"
}
},
"type": "object"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
{
"properties": {
"assets": {
"items": {
"properties": {
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"from": {
"default": 0,
"nullable": true,
"type": "number"
},
"id": {
"nullable": true,
"type": "number"
},
"period": {
"type": "string"
},
"to": {
"default": 1775481778715,
"nullable": true,
"type": "number"
}
},
"type": "object"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"assets"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/asset/details dynamic USD
Retrieve comprehensive details for a specific asset.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | number | No | Asset ID |
| address | query | string | No | Token contract address |
| blockchain | query | string | No | Blockchain name or chain ID |
| tokensLimit | query | number | Yes | Maximum number of tokens to return (1-50, default: 10) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| hostname | string | - |
POST /api/2/asset/details dynamic USD
Retrieve comprehensive details for multiple assets in a single request.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
{
"items": {
"properties": {
"address": {
"type": "string"
},
"blockchain": {
"type": "string"
},
"id": {
"nullable": true,
"type": "number"
},
"tokensLimit": {
"default": 10,
"maximum": 50,
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hostname | string | - |
| payload | array | - |
GET /api/2/system-metadata dynamic USD
Returns system metadata: supported pool types, indexed chains, and registered factories. By default all sections are returned. Pass poolTypes, chains, or factories to select specific sections.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| factories | query | boolean | No | Include the list of registered factories. |
| poolTypes | query | boolean | No | Include the list of supported pool types. |
| chains | query | boolean | No | Include the list of supported chains. |
| hasMetadata | query | boolean | No | Filter factories by metadata presence. |
| status | query | string | No | Filter factories by approval status. |
| chainId | query | string | No | Filter factories by chain ID. |
| name | query | string | No | Case-insensitive partial match on factory name. |
| indexed | query | boolean | No | Filter chains by indexing status. |
| type | query | string | No | Filter chains by type (e.g. "evm", "solana"). |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
GET /api/2/wallet/labels dynamic USD
Retrieve wallet labels (proTrader, smartTrader, freshTrader, sniper, insider, bundler, etc.) for given wallet addresses. GET version with query parameters.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| walletAddresses | query | string | No | - |
| tokenAddress | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/wallet/labels/search dynamic USD
Reverse lookup: find wallets by entity name (fuzzy), entity type (exact), or label (exact). Returns paginated results with wallet metadata, labels, and funding info.
- Amount
- 0.002000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.002000 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| entityName | query | string | No | - |
| entityType | query | string | No | - |
| label | query | string | No | - |
| offset | query | number | No | - |
| limit | query | number | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
GET /api/2/market/lighthouse dynamic USD
Retrieve aggregated real-time market metrics across all blockchains, DEXes, launchpads, and trading platforms.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
GET /api/2/perp/quote dynamic USD
Get a quote for opening a perpetual position on supported DEXs (Gains Network or Lighter). Returns execution payload.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| user | query | string | Yes | - |
| baseToken | query | string | Yes | - |
| quote | query | string | Yes | - |
| leverage | query | number | Yes | - |
| long | query | Yes | - | |
| collateralAmount | query | number | Yes | - |
| openPrice | query | number | No | - |
| tp | query | number | No | - |
| sl | query | number | No | - |
| tradeType | query | string | No | - |
| amountRaw | query | number | No | - |
| maxSlippageP | query | number | No | - |
| chainId | query | string | No | - |
| dex | query | string | No | - |
| referrer | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
| success | boolean | - |
POST /api/2/perp/execute dynamic USD
Execute a perpetual order using the payload from the quote endpoint. For Lighter orders, requires a signature of the payloadStr message.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| payloadStr | string | Yes | |
| signature | string | Yes |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | - | |
| success | boolean | - |
POST /api/2/perp/lighter/cancel-order dynamic USD
Cancel an unfilled order on Lighter. Requires signature authentication.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| marketId | number | Yes | |
| orderIndex | number | Yes | |
| signature | string | Yes | |
| timestamp | number | Yes |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | - | |
| success | boolean | - |
POST /api/2/perp/lighter/update-margin dynamic USD
Add or remove margin from a Lighter perpetual position. Requires signature authentication.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| increase | boolean | Yes | |
| marketId | number | Yes | |
| signature | string | Yes | |
| timestamp | number | Yes | |
| usdcAmount | number | Yes |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | - | |
| success | boolean | - |
GET /api/2/wallet/positions/perp/open dynamic USD
Retrieve all active perpetual positions for a specific wallet.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| limit | query | number | No | Number of positions per page (1-500, default: 100) |
| offset | query | number | No | Offset for pagination (default: 0) |
| cursor | query | string | No | Cursor for cursor-based pagination (takes precedence over offset) |
| cursorDirection | query | string | No | Cursor direction (default: after) |
| sortBy | query | string | No | Sort field (default: lastActivity) |
| order | query | string | No | Sort order (default: desc) |
| includeFees | query | Yes | Include fees in PnL calculation (deduct total_fees_paid_usd from PnL) | |
| useSwapRecipient | query | Yes | Use swap recipient mode (query wallet_positions_recipients table instead of wallet_positions) | |
| includeAllBalances | query | Yes | Include all tokens the wallet holds, not just tokens with trading history |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/wallet/positions/perp/unfilled dynamic USD
Retrieve all open (unfilled) limit or stop orders for a specific wallet.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Wallet address |
| blockchains | query | string | No | Comma-separated list of blockchain IDs (e.g., "ethereum,base,solana:solana"). If omitted, all chains. |
| limit | query | number | No | Number of positions per page (1-500, default: 100) |
| offset | query | number | No | Offset for pagination (default: 0) |
| cursor | query | string | No | Cursor for cursor-based pagination (takes precedence over offset) |
| cursorDirection | query | string | No | Cursor direction (default: after) |
| sortBy | query | string | No | Sort field (default: lastActivity) |
| order | query | string | No | Sort order (default: desc) |
| includeFees | query | Yes | Include fees in PnL calculation (deduct total_fees_paid_usd from PnL) | |
| useSwapRecipient | query | Yes | Use swap recipient mode (query wallet_positions_recipients table instead of wallet_positions) | |
| includeAllBalances | query | Yes | Include all tokens the wallet holds, not just tokens with trading history |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /api/2/trades/filters dynamic USD
Batch download trades with filters by token, chain, and timeframe. Supports cursor-based pagination.
- Amount
- 0.000400
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000400 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| tokenAddress | query | string | No | - |
| blockchain | query | string | No | - |
| from | query | number | Yes | - |
| to | query | number | Yes | - |
| limit | query | number | No | - |
| cursor | query | string | No | - |
| sortOrder | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
| pagination | object | - |
GET /api/2/token/price-history dynamic USD
Retrieve TWAP price points for a token, ideal for sparkline/linechart rendering.
- Amount
- 0.000800
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.000800 pricingMode: fixed protocols: [mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | - |
| chainId | query | string | Yes | - |
| timeframe | query | string | No | - |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | - |
POST /api/2/token/price-history dynamic USD
Retrieve TWAP price points for multiple tokens in a single request (up to 50 tokens).
- Amount
- 0.004000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.004000 pricingMode: fixed protocols: [mpp]
Input Schema
{
"anyOf": [
{
"items": {
"properties": {
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"timeframe": {
"default": "24h",
"enum": [
"5m",
"15m",
"1h",
"24h",
"7d",
"30d",
"1y"
],
"type": "string"
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
{
"properties": {
"items": {
"items": {
"properties": {
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"timeframe": {
"default": "24h",
"enum": [
"5m",
"15m",
"1h",
"24h",
"7d",
"30d",
"1y"
],
"type": "string"
}
},
"required": [
"address",
"chainId"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}
]
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | array[object] | - |
GET /agent/mpp/subscribe dynamic USD
Subscribe to a Mobula API plan via MPP payment. Creates or updates an agent customer with the selected plan (Startup, Growth, Enterprise) and billing frequency (monthly, yearly). Returns an API key and user_id. If upgrading, pass ?upgrade=true. Before subscribing, check /agent/mpp/subscription to verify no active plan. After subscribing, use the returned API key with header "x-api-key: <key>" (or "Authorization: <key>") to call any Mobula REST endpoint without further MPP payments. You can also connect to WebSocket streams at wss://streams.mobula.io for real-time trade feeds, price updates, and market events using the same API key. Full documentation: https://docs.mobula.io
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: dynamic pricingMode: fixed protocols: [mpp]
GET /agent/mpp/top-up dynamic USD
Add credits to an MPP agent. Requires an active subscription. Credits are calculated from the top-up amount using the plan-specific price per credit (Startup: $0.0004/credit, Growth/Enterprise: $0.00032/credit). Returns credits_added and new_credits_limit. Credits are consumed when calling any Mobula REST or WebSocket endpoint with your x-api-key.
- Amount
- dynamic
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: dynamic pricingMode: fixed protocols: [mpp]
GET /agent/mpp/api-keys/create dynamic USD
Create a new API key for the MPP agent. Payer wallet must match the subscription wallet. Returns the new api_key and user_id. Each key works with both REST (x-api-key header) and WebSocket streams.
- Amount
- 0.001000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.001000 pricingMode: fixed protocols: [mpp]
GET /agent/mpp/subscription dynamic USD
Returns current plan stats for the payer wallet: user_id, api_keys, plan, last_payment, payment_frequency, left_days, credits_left, plan_active. Use before subscribe to check if an active plan exists. 404 if no agent found. If plan_active is true, use the returned api_keys with x-api-key header to call any endpoint without MPP.
- Amount
- 0.001000
- Currency
- USD
- Method
- mpp
- Intent
- -
- 402 Declared
- Yes
price: 0.001000 pricingMode: fixed protocols: [mpp]
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- USD
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- Multiple Challenges
- No
Recipients
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
Per-endpoint breakdown
- GET /api/2/fast-search
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
- GET /api/2/wallet/defi-positions
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
- GET /api/2/wallet/deployer
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
- GET /api/2/wallet/position
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
- GET /api/2/wallet/positions
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
- POST /api/2/wallet/positions
- 0x804fcE9Daa8c7d63CC9E64576108409aDe0A3594
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (131ms)
- Challenge
- Reachable (97ms)
- Last Checked
Schema Completeness
- Paid Operations
- 60
- With Input Schema
- 21
- With Description
- 60
39 missing schema
- GET /api/2/fast-search
- GET /api/2/wallet/defi-positions
- GET /api/2/wallet/deployer
- GET /api/2/wallet/positions
- GET /api/2/wallet/position
- GET /api/2/token/holder-positions
- GET /api/2/token/details
- GET /api/2/token/ath
- GET /api/2/token/security
- GET /api/2/token/trader-positions
- GET /api/2/wallet/activity
- GET /api/2/wallet/analysis
- GET /api/2/wallet/trades
- GET /api/2/market/details
- GET /api/2/token/price
- GET /api/2/token/price-at
- GET /api/2/token/markets
- GET /api/2/token/trade
- GET /api/2/swap/quoting
- GET /api/2/swap/quoting-instructions
- GET /api/2/token/trades
- GET /api/2/token/trades-enriched
- GET /api/2/market/ohlcv-history
- GET /api/2/token/ohlcv-history
- GET /api/2/asset/price-history
- GET /api/2/asset/details
- GET /api/2/system-metadata
- GET /api/2/wallet/labels
- GET /api/2/wallet/labels/search
- GET /api/2/market/lighthouse
- GET /api/2/perp/quote
- GET /api/2/wallet/positions/perp/open
- GET /api/2/wallet/positions/perp/unfilled
- GET /api/2/trades/filters
- GET /api/2/token/price-history
- GET /agent/mpp/subscribe
- GET /agent/mpp/top-up
- GET /agent/mpp/api-keys/create
- GET /agent/mpp/subscription
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://mpp.mobula.io/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 2.0.0
- Document Size
- 658805 bytes
- Document Hash
- 50e9b19449f3d1d9b7780285b28cff92d0e8372180acce90eb8182a2cefa9afc
Version History (2 snapshots)
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-04-06 | B | 78% | 275ms | Up |
| 2026-04-07 | B | 78% | 143ms | Up |