B

Mobula API

https://mpp.mobula.io 78% (80/102)
Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

Compliance Checks

All paid ops declare 402 response MUST 10pt
All x-payment-info valid MUST 10pt
Challenge has Cache-Control: no-store MUST 5pt
- Challenge digest on POST SHOULD 3pt
Challenge has expires SHOULD 3pt
Challenge has Problem Details SHOULD 2pt
Challenge has required params MUST 5pt
Challenge has WWW-Authenticate MUST 5pt
Challenge returns 402 MUST 10pt
Correct Content-Type MUST 5pt
Has Cache-Control on discovery SHOULD 5pt
Has input schemas SHOULD 5pt
Has llms.txt SHOULD 5pt
Has /openapi.json at root MUST 10pt
Has required top-level fields MUST 10pt
Served over HTTPS MUST 10pt
Uses standard categories SHOULD 2pt
1 issue
  • OpenAPI doc exceeds 64KB limit (658805 bytes)

Paid Operations (60)

GET /api/2/fast-search dynamic USD
Universal Search

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
GET /api/2/wallet/defi-positions dynamic USD
Get Wallet Defi-Positions

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
Non-standard x-payment-info fields: price: 0.004000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
wallet query Yes Wallet address (EVM or Solana)
blockchains query string Yes Blockchain to fetch positions from (e.g., "solana", "ethereum")

Response Schema (200)

FieldTypeDescription
data array[object] -
wallets array[string] -
GET /api/2/wallet/deployer dynamic USD
Get Wallet Deployer

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
wallet query string Yes -
blockchain query string Yes -
page query string No -
limit query string No -

Response Schema (200)

FieldTypeDescription
data array[object] -
pagination object -
wallet object -
GET /api/2/wallet/positions dynamic USD
Get Wallet Positions

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
pagination object -
wallet object -
POST /api/2/wallet/positions dynamic USD
Get Wallet Positions (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/wallet/position dynamic USD
Get Single Wallet Position

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
wallet object -
POST /api/2/wallet/position dynamic USD
Get Wallet Positions (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/token/holder-positions dynamic USD
Get Token Holder Positions

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
totalCount number -
POST /api/2/token/holder-positions dynamic USD
Get Token Holder Positions (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/token/details dynamic USD
Get Comprehensive Token Details

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
hostname string -
POST /api/2/token/details dynamic USD
Retrieve Comprehensive Token Details

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/token/ath dynamic USD
Get Token ATH/ATL Values

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
hostname string -
POST /api/2/token/ath dynamic USD
Get Token ATH/ATL Values (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/token/security dynamic USD
Get Token Security Information

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
Non-standard x-payment-info fields: price: 0.004000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string No Blockchain name or chain ID
address query string Yes Token contract address

Response Schema (200)

FieldTypeDescription
data object -
hostname string -
GET /api/2/token/trader-positions dynamic USD
Get Top Token Trader Positions

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
Non-standard x-payment-info fields: maxPrice: 0.004000 minPrice: 0.000400 pricingMode: range protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
totalCount number -
POST /api/2/token/trader-positions dynamic USD
Get Top Token Trader Positions (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/wallet/activity dynamic USD
Get wallet activity

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
backfillStatus string -
data array[object] -
pagination object -
tokens array[object] -
GET /api/2/wallet/analysis dynamic USD
Get wallet trading analysis

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
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
GET /api/2/wallet/trades dynamic USD
Get wallet trades

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
pagination object -
POST /api/2/wallet/trades dynamic USD
Get wallet trades (POST)

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
pagination object -
GET /api/2/market/details dynamic USD
Get market details for a single token or pair

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string No -
address query string No -
baseToken query string No -
currencies query string No -

Response Schema (200)

FieldTypeDescription
data object -
hostname string -
POST /api/2/market/details dynamic USD
Get market details for multiple tokens or pairs (batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/token/price dynamic USD
Get current token price

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string No -
address query string No -

Response Schema (200)

FieldTypeDescription
data object -
POST /api/2/token/price dynamic USD
Get current token price (batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
payload array -
GET /api/2/token/price-at dynamic USD
Get Token Price Snapshot

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string No -
address query string No -
timestamp query integer Yes -

Response Schema (200)

FieldTypeDescription
data object -
POST /api/2/token/price-at dynamic USD
Get Token Price Snapshot (batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
payload array -
GET /api/2/token/markets dynamic USD
Get token markets for the same chain

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string No -
address query string Yes -
limit query number No -

Response Schema (200)

FieldTypeDescription
data array[object] -
totalCount number -
GET /api/2/token/trade dynamic USD
Get a single trade by transaction hash

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
blockchain query string Yes Blockchain name or chain ID
transactionHash query string Yes Transaction hash

Response Schema (200)

FieldTypeDescription
data object -
GET /api/2/swap/quoting dynamic USD
Get swap quote with transaction details

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data -
error string -
GET /api/2/swap/quoting-instructions dynamic USD
Get swap quote instructions with transaction details

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
error string -
POST /api/2/swap/send dynamic USD
Send a swap transaction

Submit a signed swap transaction to the blockchain

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
awaitLanding boolean No
candidates array No
chainId string Yes
signedTransaction string No

Response Schema (200)

FieldTypeDescription
data object -
error string -
GET /api/2/token/trades dynamic USD
Get token trades

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
POST /api/2/token/trades dynamic USD
Get token trades (POST)

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
GET /api/2/token/trades-enriched dynamic USD
Get enriched token trades

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
POST /api/2/token/trades-enriched dynamic USD
Get enriched token trades (POST)

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
GET /api/2/market/ohlcv-history dynamic USD
Get market OHLCV history

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
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
POST /api/2/market/ohlcv-history dynamic USD
Get market OHLCV history (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
data array[object] -
GET /api/2/token/ohlcv-history dynamic USD
Get token OHLCV history

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
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
POST /api/2/token/ohlcv-history dynamic USD
Get token OHLCV history (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
data array[object] -
GET /api/2/asset/price-history dynamic USD
Get asset price history

Retrieve historical price data for a specific asset.

Amount
0.002000
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
POST /api/2/asset/price-history dynamic USD
Get asset price history (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
data array[object] -
GET /api/2/asset/details dynamic USD
Get asset details

Retrieve comprehensive details for a specific asset.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
hostname string -
POST /api/2/asset/details dynamic USD
Get asset details (Batch)

Retrieve comprehensive details for multiple assets in a single request.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: 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)

FieldTypeDescription
hostname string -
payload array -
GET /api/2/system-metadata dynamic USD
Get system metadata

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
GET /api/2/wallet/labels dynamic USD
Get wallet labels

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
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
walletAddresses query string No -
tokenAddress query string No -

Response Schema (200)

FieldTypeDescription
data array[object] -
GET /api/2/wallet/labels/search dynamic USD
Search wallets by entity name, type, or label

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
Non-standard x-payment-info fields: price: 0.002000 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
entityName query string No -
entityType query string No -
label query string No -
offset query number No -
limit query number No -

Response Schema (200)

FieldTypeDescription
data array[object] -
pagination object -
GET /api/2/market/lighthouse dynamic USD
Get market lighthouse metrics

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Response Schema (200)

FieldTypeDescription
data object -
GET /api/2/perp/quote dynamic USD
Get perp quote

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data object -
success boolean -
POST /api/2/perp/execute dynamic USD
Execute perp order

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
payloadStr string Yes
signature string Yes

Response Schema (200)

FieldTypeDescription
data -
success boolean -
POST /api/2/perp/lighter/cancel-order dynamic USD
Cancel Lighter order

Cancel an unfilled order on Lighter. Requires signature authentication.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
marketId number Yes
orderIndex number Yes
signature string Yes
timestamp number Yes

Response Schema (200)

FieldTypeDescription
data -
success boolean -
POST /api/2/perp/lighter/update-margin dynamic USD
Update Lighter margin

Add or remove margin from a Lighter perpetual position. Requires signature authentication.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Input Schema

FieldTypeRequiredDescription
increase boolean Yes
marketId number Yes
signature string Yes
timestamp number Yes
usdcAmount number Yes

Response Schema (200)

FieldTypeDescription
data -
success boolean -
GET /api/2/wallet/positions/perp/open dynamic USD
Get wallet perp positions

Retrieve all active perpetual positions for a specific wallet.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
GET /api/2/wallet/positions/perp/unfilled dynamic USD
Get unfilled perp orders

Retrieve all open (unfilled) limit or stop orders for a specific wallet.

Amount
0.000400
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
GET /api/2/trades/filters dynamic USD
Batch download trades with filters

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
Non-standard x-payment-info fields: price: 0.000400 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
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)

FieldTypeDescription
data array[object] -
pagination object -
GET /api/2/token/price-history dynamic USD
Get token price history

Retrieve TWAP price points for a token, ideal for sparkline/linechart rendering.

Amount
0.000800
Currency
USD
Method
mpp
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.000800 pricingMode: fixed protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address query string Yes -
chainId query string Yes -
timeframe query string No -

Response Schema (200)

FieldTypeDescription
data object -
POST /api/2/token/price-history dynamic USD
Get token price history (Batch)

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
Non-standard x-payment-info fields: 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)

FieldTypeDescription
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

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
Non-standard x-payment-info fields: 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.

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
Non-standard x-payment-info fields: 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.

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
Non-standard x-payment-info fields: 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.

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
Non-standard x-payment-info fields: 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 (125ms)
Challenge
Reachable (150ms)
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)

Grade: C (69%) → B (78%)
Grade: B (78%) → C (69%)
Scan snapshots
Date Grade Score Response Status
2026-04-06 B 78% 275ms Up
2026-04-07 B 78% 143ms Up