Crypto glossary

Vyper

Definition

Vyper is a Python-like programming language for Ethereum smart contracts that deliberately limits features to make code simpler to read and audit.

Vyper compiles to EVM bytecode like Solidity but takes a stricter approach. Its syntax resembles Python, and it leaves out features that make behaviour hard to follow, such as class inheritance, function overloading, inline assembly and unbounded loops. The idea is that a reviewer should be able to read a contract top to bottom and understand what it does without chasing code through many files.

Vyper is the second most used language on Ethereum, well behind Solidity. Curve Finance wrote its core pools in it, and several other DeFi protocols and newer projects use it for vaults and token contracts, often citing auditability. Its readability also makes it popular with developers coming from Python and data science.

Simplicity in the language does not remove compiler risk. In July 2023, a bug in certain older Vyper compiler versions broke the reentrancy guard in some Curve pools, and attackers drained them, an incident that showed audits must cover the compiler as well as the source. The smaller ecosystem also means fewer tools, libraries and experienced auditors than Solidity.

Example

A team building a simple stablecoin vault writes it in Vyper so auditors can review the full logic in one short file without inherited contracts.

Related terms

Latest articles on Vyper