# Set up Your Own Validator

The cross-chain transfer of tokens through the xAsset Bridge is efficient and highly secure. We have multiple validators to help confirm the correctness and security of transactions, ensuring that no malicious transactions or unexpected transactions occur. In addition, xAsset Bridge are compatible with the third parties register to be one of the validators to ensure sufficient decentralization.

## Validator Registration

#### Step 1. Get latest **validator server image**

You can get latest image from [docker hub](https://hub.docker.com/r/xyfinance/cross-chain-relay-validator)

#### Step 2. Run validator server with specific **environment variables**

Server listen port: `8004`

To run validator server properly, you must pass following environment variables when starting a container:

* `TOKEN_SYMBOL`: The token you want to validate.&#x20;

  Currently available symbols are:

  * XY
* `CC_VALIDATOR_KEY`: Private keys of validator EOA wallet, will be used to sign validated transaction. For example:&#x20;

  `28f56a15aef9105893fae9f2af4d2386b0a549ebe297c00708c494f5d53871d0`

#### Step 3. Expose server **endpoint** and verify

After server starts to run, the server endpoint needs to be exposed publicly in order to receive validate request. Make sure you can access `/signatures/crossChainRequests` from your server.

To verify server works properly, you may use following command for testing. If everything went good, it will return signatures of your validator.

```bash
curl -X GET "{your_server_domain}/signatures/crossChainRequests?srcChainId=1&requestId=88&destChainId=137&receiver=0x434d20f4286711530e945957f77384649c5301a7&amount=4141700000000000000000&fee=31002734678&txHash=0xfa287bb58af4b0c0e188abe4784a9e308e7b2302733ab7296f1bac5725a112fb"
```

#### Step 4. Fill registration form

Finally, fill this [form](https://forms.gle/soHFqG7bsBZNMbvC7) to inform us about your validator server.

We will add your server to our validator list after reviewed.


---

# 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://docs.xy.finance/single-bridge-integration/xasset-bridge/set-up-your-own-validator.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.
