// the find
OpenZeppelin/cairo-contracts
OpenZeppelin Contracts written in Cairo for Starknet, a decentralized ZK Rollup
The Cairo port of OpenZeppelin's battle-tested smart contract library, targeting Starknet rather than EVM chains. Covers the usual suspects — ERC20/721/1155, access control, governance, timelocks — but written in Cairo with Starknet's component model instead of Solidity inheritance. The audience is anyone building production contracts on Starknet who doesn't want to reimplement token standards and access patterns from scratch.
Three independent audits already completed (2025, one per major version), which is the right pace for a security library that people will put real money behind. The monorepo splits into fine-grained packages so you can pull in only `openzeppelin_token` without dragging along governance and finance. The Contracts Wizard at wizard.openzeppelin.com generates Cairo boilerplate interactively, which is genuinely useful when Cairo's component system has a steeper onboarding curve than Solidity inheritance. Test coverage is wide and uses snforge, the standard Starknet testing framework, so the tests actually run against a real execution environment.
Still on alpha versioning (4.0.0-alpha.1 as of this writing) — the API has broken between major versions before and the CHANGELOG confirms it. The metadata says the primary language is Rust, which is accurate only for the proc-macro crate; the actual contracts are Cairo, which may confuse discovery tools and anyone skimming the repo. ERC4626 (vault standard) is documented but listed as a guide rather than a finished component, so if that's what you need, you're partially on your own. Cairo's component system forces a fair amount of boilerplate even with the Wizard — the ERC20 example in the README requires wiring up storage, events, and constructor manually before you can mint a single token.