Smart Contracts

This page outlines how Smart Contracts will be utilized from the perspectives of the ecosystem and vendors, as part of Intersect’s administration.

How Do Smart Contracts Work?

Ultimately, treasury funds withdrawn as part of an Intersect treasury withdrawal governance action will, wherever possible and applicable, use multi-signature controlled smart contracts to safeguard treasury funds and make the use of treasury funds transparent on-chain.

Smart contracts will hold treasury funds and vendor payments transparently on-chain, effectively in escrow. These smart contracts can be partitioned into themes and specific project contracts, enhancing community visibility and transparency.

These smart contracts have been built with a specific, limited set of permissions, each of which is authorized through keys and, should they be executed, would be transparent and auditable on-chain. Each partitioned theme or grouping of treasury funds can have its own unique set of permissions. We refer to this group of permissions as an oversight committee.

The following sections of the knowledge base outline the composite parts of the smart contract framework and how they may initially be used:

chevron-right1. Types of Smart Contractshashtag

Types of Smart Contracts

There are two types of smart contracts initially designed for managing treasury funds: a Treasury Reserve Contract (formally referred to in specifications as a Treasury Reserve Smart Contract (TRSC)), and a Vendor Contract (officially referred to in specifications as a Project-Specific Smart Contract (PSSC)). For clarity and ease, we will refer to these as Treasury Contracts and Vendor Contracts from here on.

  • Treasury Contract

One or more smart contract instances on-chain will hold funds from the Cardano Treasury in a reserve account. These funds will be allocated to projects that have been approved and budgeted by the community. Funds will be held in ADA. Funds can only be transferred to another Treasury Contract instance, a Vendor Contract instance, swept back to the Cardano Treasury, or moved temporarily to an exchange for conversion purposes.

Each Treasury Contract will be permissioned as to who can undertake the defined actions within the smart contract. The following permissions are available within a Treasury Contract:

Actions defined:

  • Fund - Treasury Reserve contract can be used to fund a new Vendor Contract

  • Disburse - Funds can be disbursed to arbitrary destinations (should require a high many-of-a-number (MofN) signatory, metadata rationale should be provided if used)

  • Reorganize - UTXOs at the treasury address can be reorganized, such as splitting or merging them

  • SweepTreasury - Funds can be swept back to the treasury before a mandatory expiration.

Prohibited actions:

  • Participation in staking

  • Participation in governance

Vendor Contract

A Vendor Contract is one or more smart contract instances on-chain with a descriptive project name, a project code, a specified vendor, a payment schedule, and a budget. A transfer from a Treasury Contract funds the budget for a Vendor Contract. The Vendor Contract is intrinsically linked to a Treasury Contract. The permissions of a Vendor Contract are inherited from the Treasury Contract to which it is associated. The following permissions are available within a Vendor Contract.

Actions defined:

  • Pause - Intersect’s Administration team can pause a payment milestone (milestones can be paused independently of each other).

  • Resume - Intersect’s Administration team can un-pause a specific milestone.

  • Modify - The vendor and the oversight committee can agree to modify or cancel a project, such as extending the deadline for a milestone.

Two additional actions can be either inherited from the Treasury Contract or configured during the creation of the Vendor Contract.

  • SweepVendor - After an expiration, all paused, unmatured funds can be swept back to the Treasury Contract (and thus back to the Cardano treasury).

  • Malformed - If a UTXO is malformed, such as when someone sends funds to the vendor contract directly without a Plutus datum, we don't want those to be locked. Therefore, we allow them to be swept back to the treasury contract.

chevron-right2. Treasury contract partitionshashtag

Treasury contract partitions

Funds can be partitioned into Treasury Contracts at any time; they can be specified in the treasury withdrawal governance action, or funds can be moved into smart contracts at a later date. This latter option may be used to smooth the adoption and risk of a big-bang approach. It is expected that several partitions or slices of funds will ultimately be used.

These can be themed arbitrarily but are expected to follow some logic, either thematically, by use, or most likely phases of deployment, such as ‘2025 Budget Proposals’. However, there are multiple possibilities for now and in the future. An illustration is provided below.

chevron-right3. Want to Explore the Smart Contract Framework?hashtag

Want to Explore the Smart Contract Framework?

The smart contract system is evolving, and vendors are welcome to contribute ideas or improvements.

Feature backlog: https://github.com/IntersectMBO/budget-managementarrow-up-right

Smart contract code and audits:


Learn More About The Oversight Committee

Understand the role of the Oversight Committee as part of Intersect's Administration.

About The Oversight Committee

Role Of The Oversight Committee Back To Hubs

Last updated