ERC-2470: Singleton Factory
ERC-2470 deploys a single permissionless SingletonFactory at a deterministic address (0xce0042B868300000d44A59004Da54A005ffdcf9f) so that anyone can use the same factory across all EVM chains for CREATE2-style deployment. The factory was deployed via Nick's-method (a one-shot ECDSA signature with a deterministically generated public key whose private key nobody knows).
Why Such a Niche Standard Exists
Different chains have different CREATE2-deployer-contract addresses. Without a universal factory, the same contract bytecode deployed to Polygon, Arbitrum, and Mainnet would have different addresses. ERC-2470 standardises one factory address across chains so contracts deployed via that factory get the same address everywhere.
Neo Equivalent
Neo doesn't have this fragmentation problem: a contract's script hash is Hash160(deployer || script || name). If the same deployer redeploys the same NEF + manifest on testnet and mainnet, the script hashes are identical. No singleton factory required.
For multi-chain projects (e.g. a deploy bot deploying the same contract to multiple Neo networks), the script hash is the same on each.
Live on Neo TestNet
Both implementations are deployed on Neo N3 TestNet (network magic 894710606).
| Implementation | Contract Hash | Deploy Tx |
|---|---|---|
Solidity (neo-solc) | 0x625c19cbd8d0b5cf03bd9996b67a824c14448012 | 0xbb6e02b4…51651a |
Neo C# (nccs) | 0x602d11eca4ebba2799b076fdbba251d1d9eaedf5 | 0x10eda9be…7f8832 |
Cross-implementation invocations match on claimDeployer / _deploy, deployCount, getDeployer. Source pairs under docs/standards-mirror/deployments/erc-2470/.
