スマートコントラクトとは、改ざん耐性のあるプログラムを開発および公開できる処理系(プログラムの実行環境)、あるいはその処理系をターゲットとした高級プログラミング言語のことを指す。
主に二種類のカテゴリが俗に認識されており、ひとつは末端の使用者の側で作用後の状態がどのようなものになるかも含めて署名を施してネットワークに提出するUTXO型のものであり、Bitcoin等がそれにあたる。
もうひとつは末端の使用者の側では入力値と実行するプログラム名のみを指定し、作用後の状態の計算はパブリックチェーンに任せるVM型のものであり、Ethereum等がそれにあたる。
特に、VM型は不特定多数の匿名の契約の相対を持つことが可能であり法学的に特異な性質を有する。
便宜的にこれを「世界との契約」と呼称する。