> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Canyon

> Overview of the Canyon hardfork, bringing Ethereum Shanghai EIPs (EIP-3651, EIP-3855, EIP-3860) to the Base execution layer.

## Activation Timestamps

| Network   | Activation timestamp                   |
| --------- | -------------------------------------- |
| `mainnet` | `1704992401` (2024-01-11 17:00:01 UTC) |
| `sepolia` | `1699981200` (2023-11-14 17:00:00 UTC) |

[eip3651]: https://eips.ethereum.org/EIPS/eip-3651

[eip3855]: https://eips.ethereum.org/EIPS/eip-3855

[eip3860]: https://eips.ethereum.org/EIPS/eip-3860

[eip4895]: https://eips.ethereum.org/EIPS/eip-4895

[eip6049]: https://eips.ethereum.org/EIPS/eip-6049

[block-validation]: ../../protocol/consensus/p2p#block-validation

[payload-attributes]: ../../protocol/consensus/derivation#building-individual-payload-attributes

[1559-params]: ../../protocol/execution/index#1559-parameters

[channel-reading]: ../../protocol/consensus/derivation#reading

[deposit-reading]: ../../protocol/bridging/deposits#deposit-receipt

[create2deployer]: ../../protocol/execution/evm/predeploys#create2deployer

The Canyon upgrade contains the Shapella upgrade from L1 and some minor protocol fixes.
The Canyon upgrade uses a *L2 block-timestamp* activation-rule, and is specified in both the
rollup-node (`canyon_time`) and execution engine (`config.canyonTime`). Shanghai time in the
execution engine should be set to the same time as the Canyon time.

## Execution Layer

* Shapella Upgrade
  * [EIP-3651: Warm COINBASE][eip3651]
  * [EIP-3855: PUSH0 instruction][eip3855]
  * [EIP-3860: Limit and meter initcode][eip3860]
  * [EIP-4895: Beacon chain push withdrawals as operations][eip4895]
    * [Withdrawals are prohibited in P2P Blocks][block-validation]
    * [Withdrawals should be set to the empty array with Canyon][payload-attributes]
  * [EIP-6049: Deprecate SELFDESTRUCT][eip6049]
* [Modifies the EIP-1559 Denominator][1559-params]
* [Adds the deposit nonce & deposit nonce version to the deposit receipt hash][deposit-reading]
* [Deploys the create2Deployer to `0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`][create2deployer]

## Consensus Layer

* [Channel Ordering Fix][channel-reading]
