diff --git a/public/images/metis-logo.svg b/public/images/metis-logo.svg
new file mode 100644
index 0000000..dc15533
--- /dev/null
+++ b/public/images/metis-logo.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/src/components/Labels/index.tsx b/src/components/Labels/index.tsx
index 7b97408..510ab3e 100644
--- a/src/components/Labels/index.tsx
+++ b/src/components/Labels/index.tsx
@@ -10,6 +10,7 @@ const rollupsFirstColors: Record = {
arbitrum_one: '#F59762',
optimism: '#F59762',
base: '#F59762',
+ metis: '#F59762',
polygon_zkevm: '#7A8FFF',
taiko: '#7A8FFF',
linea: '#7A8FFF',
diff --git a/src/docs/metis.mdx b/src/docs/metis.mdx
new file mode 100644
index 0000000..d6313a7
--- /dev/null
+++ b/src/docs/metis.mdx
@@ -0,0 +1,161 @@
+---
+title: Metis
+subtitle: Metis is an EVM-compatible Optimistic Rollup. The protocol team centrally operates the sequencer. Transaction data is recorded off-chain in MEMO distributed data storage system. The protocol provides an optimistic challenge mechanism that allows Validators to force Sequencer to post missing data, however it is not fully implemented yet. Their contracts are based on the optimistic virtual machine (OVM).
+labels:
+ - Optimistic Rollup
+ - MVM
+ - Mainnet
+links:
+ website:
+ url: https://www.metis.io/
+ name: metis.io
+ docs:
+ url: https://docs.metis.io/dev/
+ name: Docs
+ l2beat:
+ url: https://l2beat.com/scaling/projects/metis
+ name: L2Beat
+ github:
+ url: https://github.com/MetisProtocol
+ name: Github
+ twitter:
+ url: https://twitter.com/MetisDAO
+ name: MetisDAO
+ discord:
+ url: https://discord.com/invite/RqfEJZXnxd
+ name: Discord
+---
+
+
+
+ Metis is an EVM-compatible Optimistic Rollup. The protocol team centrally operates the sequencer. Transaction data is recorded off-chain in MEMO distributed data storage system. The protocol provides an optimistic challenge mechanism that allows Validators to force Sequencer to post missing data, however it is not fully implemented yet. Their contracts are based on the optimistic virtual machine (OVM).
+
+ ###### Focus
+
+ - Upgrade the centrally operated sequencer by designing and deploying decentralised sequencer technology.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ } tooltip="The contract used for sequencing, proving and storing the state of the L2 network" />
+
+
+
+ } tooltip="The different client implementations of the Rollup" />
+
+
+
+ - **Type 0** - A compressed EIP155 transaction. The transaction that is signed follows EIP155. The type enum is `0`.
+ - **Type 1** - A compressed EIP155 transaction that uses an alternative signature hashing algorithm. The data is ABI encoded hashed and then signed with `eth_sign`. The type enum is `1`.
+ ___
+
+
+
+
+
+
+
+ > ⚠️ if you're using solidity 0.8.9 or above, the default evm version is London, and it's not supported by Metis, you should set evm version to berlin.
+
+
+
+ The following table encapsulates EVM OPCODE differences of the Rollup compared to the canonical Ethereum L1 implementation.
+
+ | Opcode | Name | Solidity Equivalent | Rollup Behaviour | Ethereum L1 Behaviour |
+ | :----- | :--- | :-------------------| :--------------- | :-------------------- |
+ | 3A | GASPRICE | `blockhash.gasPrice` | returns constant `0` | Get price of gas in current environment |
+ | 40 | BLOCKHASH | `blockhash(block.number)` | returns constant `0x0000000000000000000000000000000000000000000000000000000000000000` | Get the hash of one of the 256 most recent complete blocks |
+ | 41 | COINBASE | `block.coinbase` | returns constant `0x4200000000000000000000000000000000000011` | Get the L1 block’s beneficiary address |
+ | 42 | TIMESTAMP | `block.timestamp` | Returns timestamp up to 60 seconds in the past. | Timestamp of the L1 block |
+ | 43 | NUMBER | `block.number` | L2 block number | Gets the L1 block number |
+ | 44 | PREVRANDAO | `block.prevrandao` | Returns constant `0` | Get the output of the randomness beacon provided by the beacon chain |
+ | 48 | BASEFEE | `block.basefee` | Undefined | Get the base fee |
+ | 5F | PUSH0 | | Not supported | Places value 0 on the stack |
+
+
+
+
+
+ All Precompiled Contracts defined in the canonical Ethereum L1 implementation have the same behaviour on the Rollup.
+
+
+
+
+
+ The Rollup has introduced the following system contracts.
+
+ | Address | Name | Description |
+ | :--- | :--- | :--- |
+ | | | The L1 Cross Domain Messenger contract sends messages from L1 to L2, and relays messages from L2 onto L1. |
+ | | | The L2 Cross Domain Messenger contract sends messages from L2 to L1, and relays messages from L1 onto L2. |
+
+
+
+
+
+
+
+ The following endpoints behave differently compared to the canonical Ethereum L1 implementation of the JSON RPC API.
+
+ | Method | Params | Rollup Behaviour | Ethereum L1 Behaviour |
+ | :----- | :----- | :--------------- | :-------------------- |
+ | `eth_getBlockByNumber` | Integer block number or string one of `safe`, `latest` or `pending` | Returns information for a given block.
Adds additional information for transactions such as l1 block number, l1 timestamp, queue origin and raw transaction. | Returns information for a given block. |
+ | `eth_getBlockByHash` | hash | Returns information for a given block.
Adds additional information for transactions such as l1 block number, l1 timestamp, queue origin and raw transaction. | Returns information for a given block. |
+ | `eth_getTransactionByHash` | hash | Returns information for a given transaction.
Adds additional information such as l1 block number, l1 timestamp, queue origin and raw transaction. | Returns information for a given transaction. |
+ | `eth_getTransactionReceipt` | hash | Returns information for a given transaction.
Adds additional information related to L1 calldata fees. | Returns information for a given transaction. |
+
+
+
+
+
+ Fees on Metis are denominated in METIS tokens. Metis transactions must pay an L1 fee component to cover the cost of their calldata. You should use `eth_gasPrice` to determine the appropriate gas price needed. Also `eth_estimateGas` is used to find an appropriate gas limit containing calculations of L1 gas.
+
+
+
+
+
+ Existing EVM-based tooling is supported such as ethers, web3.js, ethers-rs, hardhat, foundry and truffle.
+
+