# Contract Addresses

<figure><img src="/files/flTzcYGukNj5QhJqgYzB" alt=""><figcaption></figcaption></figure>

## :green\_square: $BLESS Token

### All Mainnets

```
0x000000000000CCA70B6e0997a94681a3114EdDD7
```

See [supported chains](/reference/supported-chains.md#mainnets).

#### Router

Rotuer contract dedicated to parent -> child transfers

```
0x00000000001fc9d4DdE926c7016409c5eeAa0644
```

### All Testnets

```
0x0000000000BBfbab0236d05c06211853f812ec57
```

See [supported chains](/reference/supported-chains.md#testnets).

#### Router

Rotuer contract dedicated to parent -> child transfers

```
0x0000000000158AB33172239922407A4385cC2f13
```

## :green\_square: $BLESS Dispenser

### Mainnet Dispenser

```
0x000000000000a21db7945Fc6A9d9DEfd60358FE6
```

### Testnet Dispenser

```
0x00000000000b81Bb120756126eafC0b731B416c6
```

## :green\_square: Access Controller

The Access Controller is an **upgradable contract**.

Below is both the address of the contract and it's current implementation address. The implementation address is the code that will execute in association with the state at the contract address.

For more information on upgradeable contracts see this [handy article from Chainlink.](https://blog.chain.link/upgradable-smart-contracts/)

### Mainnet and Testnet

```
Address:        0x00000000004aE214DFD56298B11D0F3b301fF729
Implementation: 0x0000000000AE0e2329A3242DC4F95DC48CDD4b82
```

## :green\_square: Attestations

### Mainnet and Testnet

```
0x0000000000bD5b5f25fBB90AF0188c1070d159A1
```

## :green\_square: Blessed Accounts (ERC-4337)

### Mainnet and Testnet&#x20;

#### Entry Point

```
0x0000000000160d2F18960e14a6626eDEcBd16121
```

#### Account Factory

```
0x0000000000006C04E4D22125B7cDd6C2d14a90c1
```

## :green\_square: Delivery Service

### Mainnet Relay

```
0x38d62E7009752C9E04Cb26A81f53Fa5162aC3A4F
```

### Testnet Relay

```
0x60663d378491A4C050f65aA4f693A5E01458afAD
```

## :green\_square: Ethereal 721 Factory

### Mainnet

```
0x00000000006c4E67F7C441b6Ff95a1302E0d5740
```

### Testnet

```
0x00000000005a4763D1fe68ebF4b6601E6C129dDf
```

## :green\_square: **Permissions**

### Permissions Controller

#### Mainnet and Testnet

```
0x0000000000b830264AC5E8004250e1f7003D6A68
```

### Modular Permissions

#### Mainnet and Testnet

```
0x0000000000ac1B1A0028a42DeF73f79F561d6123
```

### **Mirrors**

#### **Mainnet**

```
delegate.xyz v1:    0x5ae52f3f1748d839359c9B0346b06c41EFC34FfE
delegate.xyz v2:    0x9FC809895685a29c8443C3908105042F986c3961
eps v1:             0x512e7C901Df84Ca275f846718e53dCfe34cF64E8
eps v2:             0x6E75B4D9a6d56aFadB728BdC00eD8930BF0D1a50
```

#### Testnet

```
delegate.xyz v1:    0x6324cfDD16935Bd6900CE10D1d8130dbADF74D5A
delegate.xyz v2:    0x0D888Be987245fB198884519F515D090733118E7
```

## :green\_square: Ping

### Mainnet and Testnet

```
0x00000000000A6B6E3F60B9D61a21233C8A09a2CB
```

## :green\_square: Price Feed

### Mainnets and Testnets

```
0x0000000000019B6e29d82aBBE0d9686Ad63FB2bB
```

## :green\_square: Sprinkler

### Mainnet and Testnet

```
0x0000000000E506F61d4c3aEFc7C1Cf2Eef7C4aD9
```

## :green\_square: Token Bridge

### &#x20;Mainnets Token Gateway

```
0x0000000000001Deb2E653D32C2e557A96cE2b91D
```

### &#x20;Mainnets Token Templates

```
ERC20:   0x2de02277952294279D812b90C28A64633d14d3AA
ERC721:  0xCEdF54063c523ACF186821928006d10dB73B341F
ERC1155: 0x9355b04e5Ec4A6eF180B10AC4E65dC758DDD207c
```

### &#x20;Testnets Token Gateway

```
0x000000000000d79998630389a33119953E647646
```

### &#x20;Testnets Token Templates

<pre><code><strong>ERC20:   0x53Ccf8839c95E743679B4A8d39d210f517Cfc1DC
</strong>ERC721:  0xAc0A1eed178e93732036f71F510dc4787F9fbDFe
ERC1155: 0x0666586feBC3c5F89008bd36bb6cbb0CADa7Dd81
</code></pre>

## :green\_square: Transaction Bridge

### Mainnets Transaction Gateway

```
0x000000000000a5F95dC354b923a50f9b50c2DEca
```

### Testnets Transaction Gateway

```
0x00000000000063000B7bd997C89951cCe2728E76
```


---

# 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.bless.net/reference/contract-addresses.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.
