> ## 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) standards in the network.
  </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).
  </Step>

  <Step title="Run Solver">
    Run an 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).
  </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. At this stage, anyone can transfer assets to the new network. The network-adding process in the TRAIN protocol is **similar to adding an ERC20 token to the Uniswap protocol**, making bridging trustless and permissionless. The detailed implementation steps can be found in the [Solver Implementation](/protocol-spec/implementation-solver) spec.
