# Deploy the adapter
Source: https://docs.chain.link/solutions/cross-chain-vault-adapter/guides/deploy-the-adapter

> For the complete documentation index, see [llms.txt](/llms.txt).

The hub chain is the chain where the vault and the adapter are deployed, and a source chain is any other chain that users send deposits and redemptions from. Here, Ethereum Sepolia is the hub chain and Arbitrum Sepolia is the source chain.

In this tutorial, we will:

1. Deploy an adapter through the factory at `0x12A0f45738F3DDA931C4D3ECd1b267355e587921` on Ethereum Sepolia, with your vault allowlisted and Arbitrum Sepolia accepted as a source chain.
2. Set an adapter fee of 0.001 CCIP-BnM on output that returns to Arbitrum Sepolia.
3. Set the return format for the CCIP 2.0 lane to Arbitrum Sepolia, and fund the adapter with 0.01 Ethereum Sepolia ETH for return-leg CCIP fees.
4. Check the configuration and preview a deposit and a redemption.

> This tutorial continues from [Deploy the vault and set up its share token](/solutions/cross-chain-vault-adapter/guides/deploy-the-vault), which deploys Vault CCIP-BnM (vCCIP-BnM), an ERC-4626 vault on Ethereum Sepolia whose asset is CCIP-BnM. You can use your own vault implementation instead.

## Before you begin

You need:

- The `cross-chain-vault-adapters` repository, cloned and built, with all the required variables being set in the `.env` file. [Set up your development environment](/solutions/cross-chain-vault-adapter/guides/deploy-the-vault#set-up-your-development-environment) lists the tools and the steps.
- A Foundry keystore for your wallet, which deploys the adapter and receives its three roles in this tutorial. Use the same keystore in every tutorial of this solution.
- An ERC-4626 vault on Ethereum Sepolia. [Deploy the vault and set up its share token](/solutions/cross-chain-vault-adapter/guides/deploy-the-vault) deploys one.

> **CAUTION: Before you continue**
>
> - **Ethereum Sepolia ETH**: required for Ethereum Sepolia transactions. Get it from the [Chainlink faucet](https://faucets.chain.link). This tutorial also sends 0.01 Ethereum Sepolia ETH to the adapter for return-leg CCIP fees.
> - **Etherscan API key**: required for `--verify`, which publishes the source code of the contracts you deploy on Etherscan. Get one from [Etherscan](https://etherscan.io/myapikey).

> **TIP: Bringing your own vault or adapter?**
>
> Skip only what you already have:
>
> - If you completed [Deploy the vault and set up its share token](/solutions/cross-chain-vault-adapter/guides/deploy-the-vault) in this terminal, your shell variables are set. Continue with [Configure the deployment](#configure-the-deployment).
> - If you bring your own vault, it must meet the [requirements](/solutions/cross-chain-vault-adapter#requirements).
>   Set `VAULT` to its address, and set `ETHEREUM_SEPOLIA_CCIP_BNM` to your vault's asset, as returned by `asset()`.
>   Use that asset address wherever `.env` below shows the CCIP-BnM address.
>   Adapter fees are in the asset's smallest units, so scale `1000000000000000` (0.001 of an 18-decimal token) to your asset's decimals.
> - If your vault's share token is not a cross-chain token yet, you can still deploy the adapter.
>   But until and unless you enable the share token on the lane, users can deposit only with delivery on Ethereum Sepolia: the adapter cannot send shares to Arbitrum Sepolia, and users there hold no shares to redeem.
> - If you already deployed an adapter for your vault, run `export ADAPTER=<your_adapter_address>` and continue with [Set the return format and fund the adapter](#fund-the-adapter).

## Deploy and configure the adapter

## Verify the adapter

> **NOTE: Where to go next**
>
> 1. [Deposit from a source chain](/solutions/cross-chain-vault-adapter/guides/deposit-from-source-chain): as a user on Arbitrum Sepolia, deposit 0.1 CCIP-BnM into the vault through this adapter and receive the shares on Arbitrum Sepolia.
> 2. Stay in this terminal and in the `cross-chain-vault-adapters` directory.