# Gravity Chain Binding

{% hint style="success" %}
This documentation only applies if you are syncing your node from a block height 1 or anyway prior to Mainnet 1.0 height (5157001). You can ignore this if you are syncing your node starting from an [official snapshot](broken://pages/IjdWo0ZlV5NBJhRNYP51#start-from-a-snapshot).&#x20;
{% endhint %}

Before the final release of IoTeX 1.0, the blockchain relied on the delegate election result fetched from the IoTeX staking contract deployed on Ethereum. As a consequence, if you intend to sync your node from the very first block, you will need to provide a list of Ethereum JSON-RPC endpoints for the node to consume the relevant data from Ethereum.&#x20;

While we provide a list of default JSON-RPC endpoints, delegates are encouraged to set up their own endpoint, to be more decentralized, secured, and performant.

There are two approaches that have been experimented:

* **Setup your own Ethereum node.** No need to mine, just use it as an Ethereum API Getheway ([geth](https://github.com/ethereum/go-ethereum/wiki/Installing-Geth) and [parity](https://wiki.parity.io/Setup)), and expose the JSON-RPC endpoint.
* **Use** [**Infura**](https://infura.io/) **Ethereum blockchain infrastructure.** Signing up for an account and creating a project. The JSON-RPC endpoint would be <https://mainnet.infura.io/v3/YOUR-PROJECT-ID>. For more details of setting up the Infura endpoint, please check [here](https://ethereumico.io/knowledge-base/infura-api-key-guide/).

After getting your own JSON-RPC endpoint, you can add it into your node configuration file`config.yaml`and restart your server. Then, your IoTeX server will read from this endpoint to get Ethereum data. You could also create and add multiple endpoints for the sake of robustness.

```yaml
...
chain:
  ...
  committee:
    ...
    gravityChainAPIs:
      - [YOUR JSON-RPC ENDPOINT]
      ...
    ...
  ...
...
```


---

# Agent Instructions: 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:

```
GET https://delegates.iotex.io/get-started/advanced/gravity-chain-binding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
