Smart contracts are programs with contract clauses, determined by the parties and written into the lines of code. While each network participant has access to all the data, they automatically trace agreements’ completion and remove any intermediaries.

In fact, an Ethereum smart contract represents an ordinary contract, but the fixing goes not legally, but technically. So, there is no need for a notary or any other authorized administrator, recognized by both parties.

An Ethereum Blockchain platform provides Turing-complete languages for smart contract development. All you need for working on this service are Ethereum tokens, called ethers, that cover expenses for using computational performance.

The example of a simple smart contract

pragma solidity ^0.4.0;

contract Coin {

// The keyword “public” makes those variables

// readable from outside.

address public minter;

mapping (address => uint) public balances;

// Events allow light clients to react on

// changes efficiently.

event Sent(address from, address to, uint amount);

// This is the constructor whose code is

// run only when the contract is created.

function Coin() {

  minter = msg.sender;


function mint(address receiver, uint amount) {

  if (msg.sender != minter) return;

balances[receiver] += amount;


function send(address receiver, uint amount) {

  if (balances[msg.sender] < amount) return;

balances[msg.sender] -= amount;

balances[receiver] += amount;

Sent(msg.sender, receiver, amount);



Learn how to develop Ethereum smart contracts

Get insight into Ethereum white paper to learn more about the technology.

Start smart contract creation with Solidity Turing-complete language.