Skip to main content
The Multiliquid REST API provides read-only access to live deployment metadata, canonical EVM transaction activity, and protocol volume analytics.
All documented endpoints use GET, require no request body, and are publicly accessible without an API key.

Interactive API

Explore the live API with Swagger UI

OpenAPI Specification

Download the machine-readable OpenAPI schema

Quick Start

Retrieve the current Ethereum mainnet deployment:
Deployment metadata uses snake_case. Transaction-history and volume responses use camelCase.

Endpoints

GET /api/status remains available as a legacy alias for GET /v1/status.

Deployment Metadata

Deployment endpoints provide the addresses, asset identifiers, decimals, delegates, and pricing infrastructure needed by an integration.

All Deployments

When runtime is omitted, the response contains both evm and svm. When it is provided, the response contains only the selected runtime, keyed by chain.

EVM Deployment

Omitting chain returns all EVM deployments keyed by chain. Supplying it returns the selected deployment object directly. An EVM deployment contains:
The EVM SDK uses this endpoint through loadEvmDeployment() to merge current deployment metadata into its chain presets.

SVM Deployment

Omitting chain returns all SVM deployments keyed by chain. Supplying it returns the selected deployment object directly. An SVM deployment contains:

Transaction History

Returns canonical EVM economic transactions for one network. Each transaction includes its inclusion data, receipt outcome, optional decoded top-level call, submitted swap bounds, and realized swap or Treasury allowlist activity.

Query Parameters

Filters can be combined:

Response

Each transaction contains: directCall.submittedSwapLegs contains the bounds supplied in calldata. Realized amounts and fees remain in activities; submitted bounds never replace event results. A successful nested swap can have activities without a top-level directCall. A reverted decoded call can have a directCall without realized activities.

Pagination

Rows use descending keyset order. To request the next page, pass nextCursor back with the same network and filters:
The cursor is tied to the original filters and must be treated as opaque.

Canonicality and Precision

Transactions become visible at first inclusion and may be replaced if the indexed chain reorganizes. A success outcome describes receipt execution; it is not a finality indicator. Native amounts, swap bounds, fees, gas values, block positions, nonces, and timestamps are decimal strings so JSON consumers do not lose integer precision. Addresses, hashes, selectors, and byte-valued asset IDs are lowercase 0x-prefixed hex. The endpoint intentionally does not infer token symbols, decimal-formatted token amounts, prices, business direction, pending state, or total result counts.

Protocol Volume

Aggregates canonical realized swap legs across one half-open UTC range and returns both the protocol total and an LP breakdown.

Query Parameters

If to is omitted, it defaults to the request time. If from is omitted, it defaults to 30 days before the resolved to. The maximum range is 365 days.
Filter the result to one LP:
On EVM, lpAddress is the stablecoin delegate used by the swap. Future SVM transaction support will use the LP vault authority.

Volume Calculation

Every realized swap event is counted once, including automatic prefund or sweep legs:
  • Stablecoin input is valued from amountIn using a $1 proxy.
  • Stablecoin output is valued from amountOut plus all stablecoin-denominated event fees using a $1 proxy.
  • RWA-to-RWA input is valued using the latest cached input-RWA adapter price.
The endpoint aggregates the complete selected range; it does not return time buckets. lpVolumes splits the same result by LP.

Response

USD volume values are decimal strings with six fractional digits. Adapter prices in usedPrices are 18-decimal USD-WAD strings and include their fetch time and observation block. If a required adapter price has not populated the cache, the endpoint still returns 200 with the known priced volume, pricingComplete: false, the unpriced leg count, and the missing asset IDs. Current RWA prices are refreshed at startup and every 24 hours. Historical RWA-to-RWA volume is therefore revalued when the cached adapter price changes.

Coverage

Both transaction-history and volume responses include: historicalBackfill describes contiguous historical progress. lastMatchingStreamObservation identifies the most recent relevant stream delivery and does not imply that every intervening block was observed. For volume responses, ingestion coverage and pricing completeness are separate:
  • coverage describes how much chain history has been indexed.
  • pricingComplete describes whether all indexed swap legs could be valued.

Errors

Invalid parameters return a JSON error:
Always check the HTTP status before reading a response as a successful payload.

Service Endpoints

/health and /v1/status return plain text. The root endpoint returns API metadata and a JSON index of currently exposed endpoints.

EVM Integration Guide

Use live deployment metadata with the TypeScript SDK

EVM Deployments

Review deployed contracts, assets, IDs, and adapters