> For the complete documentation index, see [llms.txt](https://docs.offblocks.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.offblocks.xyz/developer-guides/api-integration/blockchain-identifiers.md).

# Blockchain Identifiers

The OffBlocks API is chain-agnostic, meaning that our services can theoretically be integrated with a variety of different blockchains that support smart-contract functionality. This includes, but is not limited to, EVM-compatible L1 and L2 chains, Solana, and Tron.

To effectively set up entities such as users and accounts, perform compliance monitoring, and manage the transaction lifecycle, we employ universal identifiers for blockchain entities. We have chosen a CAIP-compatible ([Chain Agnostic Improvement Proposal](https://chainagnostic.org/)) naming convention for [Chain](https://chainagnostic.org/CAIPs/caip-2), [Account](https://chainagnostic.org/CAIPs/caip-10) and [Asset](https://chainagnostic.org/CAIPs/caip-19) identifiers, our internal Transaction identifier is also using [Account](https://chainagnostic.org/CAIPs/caip-10)-like structure for consistency.

### Chain Identifier

We use a blockchain namespace identifier suggested by [CAIP-2](https://chainagnostic.org/CAIPs/caip-2). Here are some examples of what it would look like for supported chains:

{% tabs %}
{% tab title="zkSync Era" %}

```json
// zkSync Era Mainnet
eip155:324

// zkSync Sepolia Testnet
eip155:300
```

{% endtab %}

{% tab title="Arbitrum" %}

```json
// Arbitrum One
eip155:42161

// Arbitrum Sepolia Testnet
eip155:421614
```

{% endtab %}

{% tab title="Polygon" %}

```json
// Polygon Mainnet
eip155:137

// Polygon Mumbai Testnet
eip155:80001
```

{% endtab %}

{% tab title="StarkNet" %}

```json
// StarkNet Mainnet
starknet:SN_MAIN

// StarkNet Sepolia
starknet:SN_SEPOLIA
```

{% endtab %}

{% tab title="Solana" %}

```json
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z
```

{% endtab %}

{% tab title="Tron" %}

```json
// Tron Mainnet
tron:27Lqcw

// Tron Shasta Testnet
tron:4oPwXB

// Tron Nile Testnet
tron:6FhfKq
```

{% endtab %}
{% endtabs %}

### Account Identifier

We use a blockchain account identifier suggested by [CAIP-10](https://chainagnostic.org/CAIPs/caip-10). Here are some examples of what it would look like for supported chains:

{% tabs %}
{% tab title="zkSync Era" %}

```json
// zkSync Era Mainnet
eip155:324:0x22227A31dd842196A246d8f3b775998560eAa61d

// zkSync Sepolia Testnet
eip155:300:0x22227A31dd842196A246d8f3b775998560eAa61d
```

{% endtab %}

{% tab title="Arbitrum" %}

```json
// Arbitrum One
eip155:42161:0x22227A31dd842196A246d8f3b775998560eAa61d

// Arbitrum Sepolia Testnet
eip155:421614:0x22227A31dd842196A246d8f3b775998560eAa61d
```

{% endtab %}

{% tab title="Polygon" %}

```json
// Polygon Mainnet
eip155:137:0x22227A31dd842196A246d8f3b775998560eAa61d

// Polygon Mumbai Testnet
eip155:80001:0x22227A31dd842196A246d8f3b775998560eAa61d
```

{% endtab %}

{% tab title="StarkNet" %}

```json
// StarkNet Mainnet
starknet:SN_MAIN:0x02DdfB499765c064eaC5039E3841AA5f382E73B598097a40073BD8B48170Ab57

// StarkNet Sepolia
starknet:SN_SEPOLIA:0x02DdfB499765c064eaC5039E3841AA5f382E73B598097a40073BD8B48170Ab57
```

{% endtab %}

{% tab title="Solana" %}

```json
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:DYw8jCTfwHNRJhhmFcbXvVDTqWMEVFBX6ZKUmG5CNSKK

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z:6LmSRCiu3z6NCSpF19oz1pHXkYkN4jWbj9K1nVELpDkT
```

{% endtab %}

{% tab title="Tron" %}

```json
// Tron Mainnet
tron:27Lqcw:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL

// Tron Shasta Testnet
tron:4oPwXB:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL

// Tron Nile Testnet
tron:6FhfKq:TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL
```

{% endtab %}
{% endtabs %}

### Transaction Identifier

We use a blockchain transaction identifier that is similar to the account identifier, as suggested by [CAIP-10](https://chainagnostic.org/CAIPs/caip-10), where the transaction hash replaces the account address. Here are some examples of what it would look like for supported chains:

{% tabs %}
{% tab title="zkSync Era" %}

```json
// zkSync Era Mainnet
eip155:324:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// zkSync Sepolia Testnet
eip155:300:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
```

{% endtab %}

{% tab title="Arbitrum" %}

```json
// Arbitrum One
eip155:42161:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// Arbitrum Sepolia Testnet
eip155:421614:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
```

{% endtab %}

{% tab title="Polygon" %}

```json
// Polygon Mainnet
eip155:137:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3

// Polygon Mumbai Testnet
eip155:80001:0x4593e7f275383e76708718ead8f7226a804bea47fc9061ff649d105e943323e3
```

{% endtab %}

{% tab title="StarkNet" %}

```json
// StarkNet Mainnet
starknet:SN_MAIN:0x03628d947d5aa8e2eeecbd49767ccea7ecce183b644f439bb8946a70576cff3c

// StarkNet Sepolia
starknet:SN_SEPOLIA:0x03628d947d5aa8e2eeecbd49767ccea7ecce183b644f439bb8946a70576cff3c
```

{% endtab %}

{% tab title="Solana" %}

```json
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z:4agwj7yrJMc9K95v8zH1Bxg7vPPr5f5tN45Asu3asbjmc4iCaWDgQDWuYVvsrVzKkrJcB2ZXmbgToDvGX1kYgmz7
```

{% endtab %}

{% tab title="Tron" %}

```json
// Tron Mainnet
tron:27Lqcw:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430

// Tron Shasta Testnet
tron:4oPwXB:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430

// Tron Nile Testnet
tron:6FhfKq:7e1c4712c81b5e2b960883dc4beb78c26f3549e862c139aab88206eb4a577430
```

{% endtab %}
{% endtabs %}

### Asset Identifier

We use a blockchain asset identifier suggested by [CAIP-19](https://chainagnostic.org/CAIPs/caip-19). Here are some examples of what it would look like for supported chains:

{% tabs %}
{% tab title="zkSync Era" %}

```json
// zkSync Era Mainnet
eip155:324/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// zkSync Sepolia Testnet
eip155:300/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
```

{% endtab %}

{% tab title="Arbitrum" %}

```json
// Arbitrum One
eip155:42161/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// Arbitrum Sepolia Testnet
eip155:421614/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
```

{% endtab %}

{% tab title="Polygon" %}

```json
// Polygon Mainnet
eip155:137/erc20:0x6b175474e89094c44da98b954eedeac495271d0f

// Polygon Mumbai Testnet
eip155:80001/erc20:0x6b175474e89094c44da98b954eedeac495271d0f
```

{% endtab %}

{% tab title="StarkNet" %}

```json
// StarkNet Mainnet
starknet:SN_MAIN/erc20:0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8

// StarkNet Sepolia
starknet:SN_SEPOLIA/erc20:0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8
```

{% endtab %}

{% tab title="Solana" %}

```json
// Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

// Solana Devnet
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

// Solana Testnet
solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
```

{% endtab %}

{% tab title="Tron" %}

```json
// Tron Mainnet
tron:27Lqcw/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

// Tron Shasta Testnet
tron:4oPwXB/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

// Tron Nile Testnet
tron:6FhfKq/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
```

{% endtab %}
{% endtabs %}
