> ## Documentation Index
> Fetch the complete documentation index at: https://docs.train.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Adding a New Network

> Explains how networks can be added to the protocol

<Steps>
  <Step title="Contract Implementation">
    Implement [HTLC with recoverable secret generation](/protocol/atomic-swaps-secret_gen) for the new network on its own `main-add-<network>` branch of the [contracts repo](https://github.com/TrainProtocol/contracts). Networks are developed and tested on their branch, then merged into `main` once production-track and published on the [Deployments](/deployments) page.
  </Step>

  <Step title="Solver Agent Implementation">
    If there is no existing implementation (e.g., EVM), implement the Solver Agent Chain Library for the new network (functions for interacting with deployed HTLC contracts on specific chains). See the [Solver Implementation](/protocol-spec/implementation-solver) spec.
  </Step>

  <Step title="Run Solver">
    Run a Solver for two networks—one well connected to others (already active Solvers) and the new network.
  </Step>

  <Step title="dApp Implementation">
    If there is no existing implementation (e.g., EVM), implement the Client Chain Library for the new network (functions for interacting with wallets on specific chains, subscribing to contract events, and composing user transactions). See the [dApp Implementation](/protocol-spec/implementation-dApp) spec.
  </Step>

  <Step title="dApp Deploy">
    Create a pull request for a [popular bridge UI](https://testnet.train.tech/) or fork and deploy a separate UI.
  </Step>
</Steps>

These steps can be performed independently without needing permission or interaction with any party or entity — anyone can open a `main-add-<network>` branch and start integrating a new chain. The network-adding process in the TRAIN protocol is **similar to adding an ERC20 token to the Uniswap protocol**, making bridging trustless and permissionless; a network graduates to `main` and to the [Deployments](/deployments) page once its implementation is complete and verified end-to-end. The detailed implementation steps can be found in the [Solver Implementation](/protocol-spec/implementation-solver) spec.
