RPC, LCD and gRPC endpoints
Public Nolus mainnet endpoints for CometBFT RPC, REST (LCD) and gRPC, with community providers, example queries for each interface and the fair-use terms.
Every read from Nolus and every transaction sent to it goes through a node. The Nolus team runs a public mainnet node behind three interfaces, and community operators run more, so you can query chain and contract state and broadcast signed transactions without running a node of your own.
These endpoints are free for reasonable use. For heavy workloads, run your own node as described in Run a full node.
Mainnet (pirin-1)
The public node serves Nolus mainnet, chain id pirin-1, on the following
endpoints:
| Interface | Endpoint | Use it for |
|---|---|---|
| CometBFT RPC | https://rpc.nolus.network | Blocks, transactions, broadcasting and node status, and the endpoint that nolusd and CosmJS clients use |
| CometBFT WebSocket | wss://rpc.nolus.network/websocket | Event subscriptions for new blocks and transactions |
| REST (LCD) | https://lcd.nolus.network | Cosmos SDK and CosmWasm queries over plain HTTP and JSON |
| gRPC | grpc.nolus.network:443 (TLS) | Typed Cosmos SDK and CosmWasm queries, with server reflection on |
The public node is pruned, which means it serves recent blocks and transactions only, so reading older history requires an archive node of your own.
Community endpoints
Independent operators run further public endpoints, which are listed in the Cosmos chain registry. The registry holds the current list, and these are the endpoints it names:
| Interface | Endpoints |
|---|---|
| CometBFT RPC | https://nolus.rpc.liveraven.net, https://nolus-rpc.polkachu.com, https://nolus-rpc.cogwheel.zone |
| gRPC | nolus-grpc.polkachu.com:19790 (plaintext, no TLS), nolus-grpc.cogwheel.zone:443, nolus.grpc.liveraven.net:443 |
Check the endpoints
The examples in this section move from a status check to a contract query. The CometBFT RPC status call returns the chain id and the latest block height:
curl -s https://rpc.nolus.network/status \
| jq -r '.result.node_info.network, .result.sync_info.latest_block_height'On the REST interface, the node info route returns the chain id together with the node's software version:
curl -s https://lcd.nolus.network/cosmos/base/tendermint/v1beta1/node_info \
| jq -r '.default_node_info.network, .application_version.version'A CosmWasm smart query over REST carries the query JSON base64-encoded in the path. The following example lists the protocols registered in the platform admin contract:
ADMIN=nolus1gurgpv8savnfw66lckwzn4zk7fp394lpe667dhu7aw48u40lj6jsqxf8nd
Q=$(echo -n '{"protocols":{}}' | base64 -w0)
curl -s https://lcd.nolus.network/cosmwasm/wasm/v1/contract/$ADMIN/smart/$Q | jq .dataIn this example ADMIN holds the address of the platform admin contract and
Q holds the encoded query, so the same pattern works for any contract and
query.
Over gRPC, a client such as grpcurl can call the standard services directly, for example to fetch the latest block:
grpcurl grpc.nolus.network:443 cosmos.base.tendermint.v1beta1.Service/GetLatestBlocknolusd works as a client as well once it points at the public node. The
first two commands below set the chain id and the node, and the third runs
the same protocols query against the admin contract:
nolusd config set client chain-id pirin-1
nolusd config set client node https://rpc.nolus.network:443
nolusd q wasm contract-state smart nolus1gurgpv8savnfw66lckwzn4zk7fp394lpe667dhu7aw48u40lj6jsqxf8nd '{"protocols":{}}'Because Nolus is a CosmWasm chain, it offers no Ethereum JSON-RPC endpoint. The off-chain interfaces, which are the app REST API, the ETL data API and the NLS supply API, are covered in Public APIs.
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.
Run a full node
Run a full node for Nolus mainnet, pirin-1, from the nolusd release binary, restore it from a snapshot and keep it current through chain upgrades.