> For the complete documentation index, see [llms.txt](https://docs.dydx.community/dydx-chain-technical-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dydx.community/dydx-chain-technical-docs/validators/getting-set-up/required-node-configs.md).

# Required Node Configs

## Ethereum RPC Endpoint

For the chain to process bridge transactions from Ethereum, Ethereum testnet, or other chain that supports the `eth_getLogs` RPC method, the bridge daemon queries an RPC endpoint for logs emitted by the bridge contract. By default, a node will use a public testnet endpoint that may have rate-limiting, low reliability, or other restricted functionality.

For your node to successfully ingest bridge transactions from the relevant blockchain, you are required to specify your own private RPC endpoint with flag `--bridge-daemon-eth-rpc-endpoint <YOUR_PRIVATE_RPC_ENDPOINT>` in the command you run when starting the node.

The RPC endpoint you choose *MUST* satisfy the following requirements

* supports `eth_chainId` method
* supports `eth_getLogs` method
* supports `"finalized"` as an input to `toBlock` parameter (Erigon is currently the only major Ethereum node software that does not support this.)

### Node Configs

The dYdX Chain has important node configurations required for normal chain operation. This includes:

* The `config.toml` file read by CometBFT
  * ([Full documentation(opens in a new tab)](https://docs.cometbft.com/v0.38/core/configuration))
* The `app.toml` file read by CosmosSDK
  * ([Full documentation(opens in a new tab)](https://docs.cosmos.network/main/learn/advanced/config))

#### `config.toml` <a href="#configtoml" id="configtoml"></a>

**Consensus Configs**

```
[consensus]timeout_commit = "500ms"
```

#### `app.toml` <a href="#apptoml" id="apptoml"></a>

**Base Configuration**

For value of `$NATIVE_TOKEN_DENOM`, see [Network Constants](https://docs.dydx.trade/networks/network1/network_constants#native-token-denom)

{% code overflow="wrap" fullWidth="false" %}

```
### Gas Prices ###
minimum-gas-prices = "0.025ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5,12500000000$NATIVE_TOKEN_DENOM"
```

{% endcode %}

{% code overflow="wrap" %}

```
### Pruning ###
pruning = "custom"# Small numbers >= "2" for validator nodes.
# Larger numbers could be used for full-nodes if they are used for historical queries.
pruning-keep-recent = "7"
# Any prime number between "13" and "97", inclusive.pruning-interval = "17"
```

{% endcode %}

**gRPC Configs**

{% code overflow="wrap" %}

```
[grpc]
# Enable grpc. The Cosmos gRPC service is used by various daemon processes,
# and must be enabled in order for the protocol to operate:
enable = true
# Non-standard gRPC ports are not supported at this time. Please run on port 9090, which is the default# port specified in the config file.
# Note: grpc can be also be configured via start flags. Be careful not to change the default settings
# with either of the following flags: `--grpc.enable`, `--grpc.address`.address = "0.0.0.0:9090"
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dydx.community/dydx-chain-technical-docs/validators/getting-set-up/required-node-configs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
