<!-- Source: https://docs.infraio.xyz/en/wallet/custom-network -->

# Use your wallet on a new network

Any network in the app's list works. If your network is not listed, you can
add a **custom EVM network**. Your address is the same on every EVM network, so
you do not create a new wallet.

## Requirements

The network must be EVM and must support what the wallet needs:

- **ERC-4337 EntryPoint v0.7** at the standard address.
- The **Kernel v3.3** wallet contracts and the **passkey (WebAuthn) validator**,
  deployed at their standard addresses.
- A **bundler** endpoint.
- Optional: a **P-256 signature-check precompile** ([RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md)).
  Without it, passkey signatures are checked in contract code and fees are higher.

## 1. Open Add custom network

Open **Wallet → Networks → Add custom network**.

## 2. Enter the RPC URL

Enter the network's RPC URL. The app reads the chain ID from the RPC and
verifies it. You can also enter an optional **bundler URL**.

## 3. Let the app check the network

The app checks the contracts on-chain and tells you whether the network can
host the wallet. If it cannot, the app gives you the reason, such as a missing
EntryPoint or a missing validator.

## 4. Fund your address

Open **Receive**, pick the new network and send some of its **native coin** to
your address. The address is the same as on your other EVM networks.

## 5. Make your first send

Your first send on the network sets the wallet up there (it is "deployed"). A
**one-time setup fee** applies, paid from your balance of the network's native
coin. After that, sends only pay the normal network fee.

> **Note:**
>
> Receiving works before setup. Funds sent to your address on the network
> before the wallet is set up are safe at your address.

## If the contracts are missing on a chain

If the check says the EntryPoint, the Kernel contracts or the validator are not
on the chain, **the wallet cannot run there yet**. Someone must first deploy
the canonical contracts. The ERC-4337 and ZeroDev deterministic deployers let
anyone deploy them at the standard addresses. See the public deployment docs:

- [ERC-4337 documentation](https://docs.erc4337.io)
- [ZeroDev Kernel documentation](https://docs.zerodev.app)
- [Kernel contracts repository](https://github.com/zerodevapp/kernel)

After they are deployed, run the check again.

## Troubleshooting

### No bundler

The app cannot send without a bundler. Enter a bundler URL for the network when
you add it, or edit the network and add one. Make sure the bundler supports
EntryPoint v0.7 on that chain.

### Chain ID mismatch

The chain ID the RPC returns must match the network you entered. Check that
the RPC URL belongs to the right network and that you did not paste a testnet
URL for a mainnet.

### The fee seems high

If the network has no P-256 precompile (RIP-7212), the passkey signature is
verified in contract code, which costs more gas. This is expected. The
network operator must add the precompile to lower it.

### Funds were sent before setup

They are safe. Your address exists on every EVM network, and funds sent there
stay yours. Fund the address with the native coin, then make your first send to
set the wallet up.

## Related

- [Receive and send](https://docs.infraio.xyz/en/wallet/receive-send)
- [FAQ](https://docs.infraio.xyz/en/wallet/faq)
