Pythonic language for the EVM
Vyper
Vyper logo

Vyper optimises for security, language and compiler simplicity, and auditability.

Security

It should be possible and natural to build secure smart-contracts in Vyper.

Language

The language and the compiler implementation should strive to be simple.

Auditability

Vyper code should be maximally human-readable. It should be maximally difficult to write misleading code.

Building secure and efficient smart contracts with Vyper

    Features

  • Bounds and overflow checking: On array accesses and arithmetic
  • Support for signed integers and decimal fixed point numbers
  • Decidability: It is possible to compute a precise upper bound for the gas consumption of any Vyper function call
  • Strong typing
  • Small and understandable compiler code
  • Limited support for pure functions: Anything marked constant is not allowed to change the state.

Who’s it for?

Developers

Developers choose Vyper for simplicity, security, and Python-like syntax, making it ideal for writing transparent, secure smart contracts with fewer risks of vulnerabilities.

snek

Security

Security conscious sneks use Vyper for its restricted feature set. Minimising vulnerabilities, with clear, audit-friendly syntax.

snek

Why choose Vyper?

Vyper is a friendly, safe and powerful smart contract programming language.

Vyper does not strive to be a 100% replacement for everything that can be done in Solidity; it will deliberately forbid things or make things harder if it deems fit to do so for the goal of increasing security.

If you want to build secure and efficient smart contracts without footguns, use Vyper.