Autonomous Functions

Autonomous functions allow developers, businesses and collaborators to create immutable, self-executing programs on the blockchain.


Autonomous Functions are blockchain programs that execute instructions without human influence. They react to transactions and perform operations that alter the state of a repository. Repositories use Autonomous Functions to create decentralized applications that are immutable and trustless. Collaborators can use them to create custom governance behaviours and to control shared resources. They are also known as Smart Contracts.

Established Languages

Developers do not need to learn a new language to build autonomous functions. We plan to support well-established languages like Javascript, Go, Python and WebAssembly.


An autonomous function can be invoked using the address of the git repository that contained its source code. The benefit of this is that the autonomous function can receive upgrades without changing its invocation address.

Customize Governance

Autonomous Functions allow governance configuration of a project to be trust-lessly adjusted when a condition is met. They can act as middleware for when the protocol’s defaults are undesirable.


Autonomous Functions can be upgraded to fix bugs or security issues. Due to their repo-addressability, dependent applications and contracts will not break since no new address is created. Users will be able to reference old versions of Autonomous Functions by their commit ID if/when desired.