πŸŒ‹RPC providers

Lava provider

Lava - providers

Webarrow-up-right Discordarrow-up-right Githubarrow-up-right

Providers are the backbone of the Lava network, servicing relay requests by staking on the network and managing RPC nodes on relay chains (e.g. Cosmos, Ethereum, Osmosis, Polygon, etc.). In return, providers receive payment in the form of LAVA tokens for servicing these requests.


It is necessary to configure TLS certificates for the provider - more details here -https://docs.lavanet.xyz/provider-tls/?utm_source=lava-discord&utm_medium=discord&utm_campaign=testnet-forkarrow-up-right


General points

  • whether a validator is in an active or inactive network does not affect the work of the provider. You can start the provider without running the validator

  • To bind tokens, you can use either a separate wallet or a validator wallet

  • the wallet must have at least 50,000 LAVA

  • public access points can be either remote or local on your own server. Ensure that RPC, API, and gRPC access points are up and running

  • you can use a simplified installation system and use only the lava binary with RPC without synchronizing the node

A provider can get jail status if during the last 3 epochs (1.5 hours) consumers complain about it and they have more than 95% errors in the first 10 messages or if the connection is lost


When placing bets as a provider, transactions use four main parameters:

  1. Stake: the amount of LAVA that will be sent to stake. For a test network, this value should be a minimum of 50,000 LAVA per network. The value may be greater, but not less

  2. Geolocation: indicates the geolocation of your server. US corresponds to 1 and EU corresponds to 2

  3. ChainID: ID of the target blockchain network such as Cosmos Mainnet, Ethereum Ropsten, etc.

  4. Endpoints: a list of endpoints, each of which defines an address, geolocation, and an API such as REST, JSON-RPC, etc. It is important to note that all provider requests are made using gRPC

There are several ways to find out ChainID - going to dashboardarrow-up-right or using information from RPCarrow-up-right or using the following command

Setting up the LAV1 provider

IMPORTANT - in the commands below, we change everything in <> to our value and remove <> ourselves

LAV1 - is a chain identifier that allows you to become a provider using the LAVA test network. This network is ideal for getting started as a provider. Afterwards you can easily add other networks

In this guide we will be using a validator wallet for stake and a synchronized lava node, so it is assumed that we already have the latest version of lava and other networks installed on our server. Our server is located in Europe, so we will use --geolocation 2

1. Download the lavap binary file

You can also configure lavavisor (analogous to cosmovisor). More details here

A separate lavap binary must be used for the provider. You can also configure lavavisorarrow-up-right (analogous to cosmovisor).

2. Create or restore a wallet and replenish it with at least 50,000 LAVA

For the testnet, you must use --keyring-backend test because transactions need to be signed. This will be fixed in mainnet

3. Registration of stake for the network we need. In this case LAV1 (lava-testnet-2)

For the example below, we have created a subdomain lava-provider.stavr.tech with the port used being 12345. This port number is intended to inform others that your ISP services will operate at this address with this specific port number. Please do not confuse provider_port with RPC, API or gRPC port numbers!

IMPORTANT - before you begin, you must configure a TLS certificate

You can change this port(12345) to the value you need, but do not forget to make this port open to the outside world. Also change <name_wallet> <moniker> <lava.your-site:443> to your values

Congratulations - you have officially declared yourself as a service provider in LAVA!

To register other networks, send another transaction replacing LAV1 and subdomain with your values"

For example, the transaction for osmosis testnet would look like this

Now is the time to check the status of your provider

Settings rpcprovider.yml

We need to create separate config files for each provider network. In this case, it is necessary to create different service files to launch

Create a config

Use exactly 0.0.0.0:12345 to successfully catch incoming traffic. Also in the config, if necessary, change ports 26657, 9090 and 1317 to your RPC, gRPC and API values, respectively

Lava's caching arrow-up-rightservice is used to reduce costs and improve overall network performance. Both providers and consumers benefit from a caching service. Providers that have caching enabled may return responses faster than providers that do not have caching enabled

Create a cashe service file

Create a service file. Replace <name_wallet> with your value

After the service starts, we make sure in the logs that cashe is working

Next we see similar logs

You can also use the configuration check command

Useful commands

Last updated

Was this helpful?