InviaInvia
App
REST API/Overview

REST API overview

The public REST API at https://api.invia.markets mirrors the indexed view of every Invia offer plus a handful of helpers that make it possible to build a fully featured trading client without running your own indexer or RPC node.

Base URL

https://api.invia.markets

All endpoints live under the /v1 prefix.

Authentication

None. Every endpoint is public and read-only.

Response envelope

Successful responses return JSON with the shape documented per endpoint. Error responses set an HTTP error code and return:

{ "error": "human-readable reason" }

CORS

CORS is enabled for any origin. The SDK works in the browser without proxies.

Rate limits

A soft per-IP rate limit applies. SDK consumers should expect to refresh listings every few seconds, not every few hundred milliseconds.

Caching

Read endpoints carry cache-control: public, max-age=10 where that is safe. Browser fetches are cached automatically; long-running daemons should respect last_slot / indexedAt to avoid hammering the indexer.

Endpoints

MethodPathPurpose
GET/v1/offersList indexed offers (filtered)
GET/v1/offers/:pdaFetch a single offer
GET/v1/offers/:pda/fillsPer-offer fill history
GET/v1/fillsGlobal fills feed (filtered)
GET/v1/statsProtocol-level aggregates
GET/v1/makers/:maker/statsPer-maker aggregates
GET/v1/makers/:maker/offersMaker's own offers
GET/v1/tokensJupiter-backed metadata for mints
GET/v1/trendingCached Jupiter top organic

SDK preference

Most consumers should use @invia-app/sdk which wraps every endpoint with typed inputs and outputs. The raw HTTP shapes are documented on the next pages for reference and for non-TypeScript clients.