Happy New Year — Year of the Ox!

SmartPy is an intuitive and powerful smart contract development platform for Tezos.


We are delighted to announce a new release containing many improvements including one breaking change in the compilation interface for the CLI.

Please test and send feedback!

New compilation interface and targets

Breaking change in the CLI

Instead of building explicitly SmartPy contracts in the command line with

SmartPy.sh compile <script.py> <class-call> <output-directory>

We are switching to a simplified command

SmartPy.sh compile <script.py> <output-directory>

and the class-call is registered inside the file script.py with

sp.add_compilation_target(name, contract, storage=None)

One example

In practice, this is done like that:

Inside a file called script.py


SmartPy is an intuitive and powerful smart contract development platform for Tezos.

TQ Tezos has introduced, in https://medium.com/tqtezos/contract-metadata-on-tezos-e4c692e2f6ba, the metadata standard for Tezos smart contracts TZip16.

Such metadata can be read and queried with the TZComet explorer.

SmartPy has implemented a few elements to support this initiative: a simple yet very effective way to compute metadata files and a way to easily link to off-chain metadata.

The SmartPy explorer https://SmartPy.io/explorer.html automatically links to TZComet when metadata is found in a contract storage.

The features described in this document are visible on the Metadata template https://smartpy.io/ide?template=metadata.py.

Metadata on Tezos are still…

SmartPy is an intuitive and powerful smart contract development platform for Tezos. The SmartPy language is available through a Python library for building and analyzing Tezos smart contracts.

SmartPy scripts are usually rather self sufficient Python scripts: they start by importing smartpy.py with a statement import smartpy as sp, then proceed by defining one or several contract classes class MyContract(sp.Contract): and then add one or several tests.

This usually works very well in practice except that you may wish to import a standard implementation, share code in your project for different variations, split your tests and libraries, etc.

SmartPy is…

We are delighted to announce that we just released a new version of SmartPy.io in SmartPy.io/dev marking the one year anniversary of SmartPy.io public version.

This version contains many improvements both in the language, its tools and additional pages.

The SmartPy Wallet

The SmartPy Wallet is a new tool, embedded in SmartPy.io to improve key and address management.

Contract addresses as well as faucet or implicit accounts and keys can be recorded, stored locally, used to originate a contract or in the Explorer, and used to send tez (on test nets or on the mainnet). …

We’re excited to announce that we, in collaboration with Cryptonomic, are making Chainlink natively available to all developers building on Tezos. Oracles are a key component of a thriving blockchain ecosystem. As such, we have been working closely with the Cryptonomic and Chainlink teams to make Chainlink the go-to oracle solution for developers connecting their Tezos smart contracts to real world data and systems.

Integrating natively with Chainlink allows Tezos developers to utilize decentralized oracle networks to securely and reliably access off-chain resources and use them in their on-chain applications. …

We are thrilled to announce that we just released a new version of SmartPy.io in SmartPy.io/dev.

This version contains several improvements of the SmartPy language, some improvements of the platform and a nice addition to SmartPy.io: experimental support for the Ledger Hardware Wallet.

We would also like to say a few words about the current situation in the world. This is both extremely sad and totally expected. Please take care of yourselves, your loved ones, your communities and beyond. And, also, please wear masks and tell others to do so.

Support for the Ledger Hardware Wallet

We can now sign new contract originations in the Origination…

One year after announcing SmartPy and SmartPy.io, it is our great pleasure to announce our new release. It coincides with the great Carthage activation on the Tezos mainnet for no reason.

As always, we first activated it on https://SmartPy.io/dev.
We’ll propagate it on https://SmartPy.io/demo in the next days if everything goes as smoothly as hoped and expected.

Compared to our last big release in January, https://medium.com/@SmartPy_io/new-release-for-smartpy-and-smartpy-io-89d11dc5146a, no big changes at the surface of SmartPy, we expect close to zero changes for existing SmartPy scripts; but, many new constructions, better explorer and a lot of work under the hood.

SmartPy Documentation

We updated…

It is our great pleasure to announce the first open source release of SmartPy and SmartPy.io.

Open Source Release

This release is our first Open Source version. It uses an MIT license.

It is available here: https://gitlab.com/SmartPy/smartpy.

In 2019, the development has been very active in a private repository that is expected to remain active while the gitlab repository https://gitlab.com/SmartPy/smartpy will be used to interact with the community.

We expect to make regular releases and fully transition to the public repository sometime this year.

Change of Syntax

This release contains some important changes.

Snake Case

First, we are switching SmartPy commands to snake case for readability and coherence…

Proving properties of smart contracts is of paramount importance and one of Tezos’ moto is about formally verifying its infrastructure and smart contracts.

We claim that formal verification is not the only tool to understand a smart contract and before formally proving properties, one should first perform unit-tests or scenario tests. …

This document is now outdated. Please refer to our reference manual and installation instructions.

SmartPy is a Python library, accessible in an online editor SmartPy.io, that comes together with its SmartML backend. It enables developers to define and analyse smart contracts. These smart contracts are compiled into Michelson, the Tezos virtual machine.

This is not the absolute go-to solution to use SmartPy in order to define smart contract on Tezos using Python. Users may want to automate non-regression tests, use their own editors, version control, etc.

We can now use a very simple yet effective tool called SmartPyBasic that brings…


An intuitive and effective smart contracts language and development platform for Tezos. In Python.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store