# Smart Contracts

The OptSwap protocol consists of ten (10) core smart contracts – six (6) of which are deployed at genesis, and four (4) of which are deployable via governance proposals.

The Genesis Smart Contracts are all Singletons, i.e. they have a single instance and canonical address. The Governance Deployable Smart Contracts will have separate (multiple) instances, one for each DEX, AMM, commercial paper or staking contract.

### Genesis Smart Contracts (Singletons)

1. **`OptSwapDAOGovernance`:** The main DAO Governance Contract. No Owner. Governance proposals can only be passed by a greater than two-thirds (67%) majority of votes by `OptSwapDAOVeToken` holders.
2. **`OptSwapDAOFundraising`:** The DAO Fundraising contract. Owned by the `OptSwapDAOGovernance`.
3. **`OptSwapDAOAirdrops`:** The DAO Airdrops contract. Owned by the `OptSwapDAOGovernance`.
4. **`MetaOracle`:** The Liquidity & Price Meta Oracle. Owned by the `OptSwapDAOGovernance`.
5. **`OptSwapDAOToken`:** The DAO Governance Token. Owned & Mintable by the `MetaOracle`.
6. **`OptSwapDAOVeToken`:** The Non-Transferrable Vote-Escrowed Token Contract. Owned by & Mintable by escrowing the `OptSwapDAOToken`.

### Governance Deployable Smart Contracts (Separate Instances)

1. **`OptSwap`:** The OptSwap Decentralized Exchange (DEX) contract for a particular underlying-cash pair. Owned by the `OptSwapDAOGovernance`.
2. **`OptSwapAMM`:** The OptSwap Automated Market Maker (AMM) contact for a particular DEX. Owned by the `OptSwapDAOGovernance`.
3. **`OptSwapDAOStaking`:** OptSwap Staking contracts. No Owner.
4. **`OptSwapDAOCommercialPaperToken`:** OptSwap DAO Commercial Paper contracts. Owned by the `OptSwapDAOGovernance`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.optswap.org/technical-reference/smart-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
