A non-exhaustive list of SSZ implementations. Not officially endorsed, but maintained by client teams and other members of the ethereum community. Comment in this issue if you like to add/update an entry.
Maintained here to avoid continuous changes to the spec (and not delay table updates till spec release).
| Language |
Project |
Maintainer |
License |
Status |
Features / Notes |
Implementation |
| C++ |
Prysm |
Offchain Labs |
Apache-2.0 |
Active |
No dynamic dispatching, minimal memory alloc. |
OffchainLabs/sszpp |
| Dafny |
Eth2 spec/verif. with Dafny |
ConsenSys Software And Ethereum Foundation (grant) |
Apache-2.0 |
Active |
Formal spec., correctness proofs |
ConsenSys/eth2.0-dafny |
| Go |
ZRNT |
Diederik Loerakker (@protolambda) |
MIT |
Active |
Generic, caching, datasharing |
protolambda/ztyp |
| Go |
Prysm |
Ferran Borreguero (@ferranbt) |
MIT |
Active |
Code-gen, fast |
ferranbt/fastssz |
| Go |
SSZ-15 / Go-ethereum |
Péter Szilágyi (@karalabe) |
BSD 3-Clause |
Active |
Code-gen, fast, 0-alloc |
karalabe/ssz |
| Go |
EF-devops / pk910 |
@pk910 |
Apache-2.0 |
Active |
Dynamic using type reflection |
pk910/dynamic-ssz |
| Java |
Teku |
Consensys/PegaSys Eng. |
Apache-2.0 |
Active |
Caching, datasharing |
PegaSysEng/teku/ssz |
| Nim |
Nimbus |
Status |
MIT and Apache-2.0 |
Active |
In-place decode, Caching |
status-im/nim-ssz-serialization |
| Python |
Trinity |
Ethereum Foundation |
MIT |
Active |
Pyrsistent, partial caching |
ethereum/py-ssz |
| Python |
Pyspec / Eth2.py |
Diederik Loerakker (@protolambda) |
MIT |
Active |
Datasharing, caching, streaming |
protolambda/remerkleable |
| Rust |
- |
Alex Stokes (@ralexstokes) |
MIT |
Active |
Built for light-client usage |
ralexstokes/ssz-rs |
| Rust |
Lighthouse |
Sigma Prime |
Apache-2.0 |
Active |
Partial caching, fast |
sigp/ethereum_ssz |
| Typescript |
Lodestar |
Chainsafe Systems |
Apache-2.0 |
Active |
Both Tree & structural, caching |
ChainSafe/ssz |
| Typescript |
Micro-eth-signer |
Paul Miller (@paulmillr) |
MIT |
Active |
Minimalist |
paulmillr/micro-eth-signer/src/ssz.ts |
| Zig |
- |
Guillaume Ballet (@gballet) |
Unlicense |
Active |
Zig |
gballet/ssz.zig |
| C# |
- |
@hexafluoride |
MIT |
Active |
Experimental, serialization only |
hexafluoride/SszSharp |
| C# |
- |
Nethermind |
? |
Early draft |
Code-gen, draft |
NethermindEth/ssz-codegen |
| C++ |
Mammon |
Potuz |
GPL-3.0 |
Paused |
Optimized hash function |
potuz/mammon |
| Go |
Prysm |
Prysmatic Labs |
MIT |
Deprecated |
Generic, reflection, known bugs |
prysmaticlabs/go-ssz |
| Go |
ZRNT |
Diederik Loerakker (@protolambda) |
MIT |
Deprecated |
Unsafe Go, fast, streaming |
protolambda/zssz |
| Go |
Go-ethereum |
@rjl493456442 |
BSD 3-Clause |
Discontinued |
Code-gen, encoding-only |
rjl493456442/sszgen |
| Java |
Harmony |
Harmony |
Apache-2.0 |
Deprecated |
Partially merged into Teku |
harmony-dev/beacon-chain-java/ssz |
| TypeScript |
Lodestar |
ChainSafe Systems |
Apache-2.0 |
Archived |
See new Lodestar SSZ |
ChainSafe/ssz-js |
| C# |
Cortex |
Sly Gryphon (@sgryphon) |
LGPL-v3.0 |
Discontinued |
Experimental |
sgryphon/cortex-ssz |
| Rust |
Shasper |
ParityTech |
GPL-3.0 |
Discontinued |
No updates |
paritytech/shasper/ssz |
| Swift |
Yeeth |
Dean Eigenmann (@decanus, @yeeth) |
MIT |
Discontinued |
Incomplete |
yeeth/SimpleSerialize.swift |
| Java |
Cava |
ConsenSys |
Apache-2.0 |
Discontinued |
Outdated, incomplete |
ConsenSys/cava/ssz |
A non-exhaustive list of SSZ implementations. Not officially endorsed, but maintained by client teams and other members of the ethereum community. Comment in this issue if you like to add/update an entry.
Maintained here to avoid continuous changes to the spec (and not delay table updates till spec release).
OffchainLabs/sszppConsenSys/eth2.0-dafnyprotolambda/ztypferranbt/fastsszkaralabe/sszpk910/dynamic-sszPegaSysEng/teku/sszstatus-im/nim-ssz-serializationethereum/py-sszprotolambda/remerkleableralexstokes/ssz-rssigp/ethereum_sszChainSafe/sszpaulmillr/micro-eth-signer/src/ssz.tsgballet/ssz.zighexafluoride/SszSharpNethermindEth/ssz-codegenpotuz/mammonprysmaticlabs/go-sszprotolambda/zsszrjl493456442/sszgenharmony-dev/beacon-chain-java/sszChainSafe/ssz-jssgryphon/cortex-sszparitytech/shasper/sszyeeth/SimpleSerialize.swiftConsenSys/cava/ssz