Public APIs
Base URLs, specs and uses of every public Nolus interface, from chain RPC, LCD and gRPC to the app REST API, WebSocket, ETL data API and NLS supply.
Nolus offers two kinds of public interface. The chain endpoints, which are CometBFT RPC, REST (LCD) and gRPC, read on-chain state directly and broadcast signed transactions. The off-chain APIs serve data that is expensive to compute from a node, such as prices and positions ready for display, indexed history and NLS supply figures. All of these interfaces are public, need no API key and run on a best-effort basis.
The following table lists each interface with its base URL, where its specification lives and what it is for:
| Surface | Base URL | Spec and docs | Use it for |
|---|---|---|---|
| CometBFT RPC | https://rpc.nolus.network | RPC, LCD and gRPC endpoints | Blocks, transactions, broadcasting signed transactions |
| REST (LCD) | https://lcd.nolus.network | RPC, LCD and gRPC endpoints | Module and CosmWasm contract queries over HTTP |
| gRPC | grpc.nolus.network:443 | RPC, LCD and gRPC endpoints | Typed module and contract queries |
| App REST API | https://app.nolus.io/api/ | OpenAPI 3.1 | What the Nolus app shows: prices, pools, an account's positions, unsigned transactions |
| App WebSocket | wss://app.nolus.io/ws | App WebSocket | Live prices and account updates |
| ETL data API | https://etl.nolus.network | ETL data API, OpenAPI, llms.txt | Indexed history and analytics: positions, liquidations, lenders, revenue |
| NLS supply | https://supply.nolus.io | nls-supply | Circulating, total, max and burned NLS |
| WebMCP | https://app.nolus.io/ (in the browser) | Agentic workflows | Tools for AI agents in the user's browser: read the connected account, connect a wallet, navigate; they never sign |
The public endpoints are free for reasonable use, and heavy workloads belong on your own node. The off-chain APIs come without an uptime commitment, and where an API publishes an OpenAPI spec, that spec is the source of truth for its endpoints.
Choose an interface
Which interface fits depends on what you are building. For authoritative chain or contract state, and for anything you sign, use the chain endpoints or your own full node. A user interface or an agent built around positions, earn pools and prices is better served by the app REST API and WebSocket, which return data in the shape the Nolus app displays.
Analytics, dashboards and history, such as time series, CSV exports and per-account history, come from the ETL data API, while listings and trackers that need the NLS token supply read it from the supply API.
App REST API
The app REST API is the backend behind app.nolus.io, and its OpenAPI 3.1 spec lists 86 operations in groups such as protocols, prices, leases, earn, staking, governance, transfer and solana.
Reads use GET and return data shaped for display, for example the current
oracle prices, the earn pools or the positions of a Nolus account. Writes use
POST, for example /api/leases/open, /api/earn/deposit and
/api/staking/stake, and each of them returns an unsigned transaction for the
user's wallet to sign, so the API itself never signs or broadcasts anything.
The following two requests read the node status and print the first entry of the current prices:
curl -s https://app.nolus.io/api/node/status
curl -s https://app.nolus.io/api/prices | jq '.prices | to_entries[0]'App WebSocket
The app WebSocket at wss://app.nolus.io/ws pushes live updates to clients
that subscribe to a topic. The prices topic takes no parameters, whereas
leases and earn take the Nolus account to follow as address. Two more
topics, balances and transfer, also exist and serve the app's own screens.
To subscribe, a client sends a subscribe message with a topic, as in these examples:
{"type": "subscribe", "topic": "prices"}
{"type": "subscribe", "topic": "leases", "address": "<nolus account>"}Replace <nolus account> with the Nolus account whose positions you want to
follow. For the prices topic, the server answers with
{"type": "subscribed", "topic": "prices"} and then sends price_update
messages.
ETL data API
The ETL data API serves indexed protocol history from
https://etl.nolus.network/api/..., covering positions, liquidations,
lenders, pools, treasury flows, prices over time and per-account history, with
CSV export. Its endpoints, conventions and limits are described in
ETL data API.
NLS supply API
The NLS supply API answers with plain-text numbers in whole NLS and caches each figure for one hour. The following requests return the figures and a summary:
| Request | Returns |
|---|---|
https://supply.nolus.io/?type=circulating | Circulating supply |
https://supply.nolus.io/?type=total | Total supply |
https://supply.nolus.io/?type=max | Maximum supply (1000000000) |
https://supply.nolus.io/?type=burned | Burned NLS, always 0 |
https://supply.nolus.io/ | A short text summary |
The burned figure is always 0 because the service does not track burns.
Circulating supply is the total supply minus the amounts that are still
vesting in the reserve vesting accounts, and the service's source is public in
the nls-supply repository.
WebMCP
In a browser that supports WebMCP, app.nolus.io registers tools that let an AI agent read the connected account, open the wallet connect popup and navigate the app. The tools cannot sign or send transactions, and Agentic workflows covers them in detail.
Glossary
Definitions of the terms used across the Nolus docs, from positions, LTV and margin interest to LPN, nLPN, the oracle, remote leases, Solray and Metis.
ETL data API
Query indexed Nolus protocol data at etl.nolus.network, from positions, pools and lenders to revenue, prices and account history, and the limits that apply.