# Getting Started as a Developer

Our infrastructure is designed so that other projects can adopt it step by step. You do not need to copy everything at once. You can start with the frontend, then add governance contracts, and finally integrate license checks into your own protocol.

The easiest entry point is the **DAO governance dashboard**. The `release/matchmaker` branch contains a stable version of the frontend with matchmaker governance already integrated. Running it locally gives you a full governance UI that you can connect to your own backend or to the public Preprod deployment.

On the protocol side, the `batcher-dao-governance` repository contains everything needed to issue licenses through governance. The smart contracts are written to extend an existing DAO setup rather than replace it. Off-chain code is included to build and submit transactions, and tests document the expected behavior.

An important concept for developers is that licenses are **real on-chain assets**, not abstract permissions. Each license is an NFT whose name encodes both the governance decision that approved it and the time until which it is valid. This makes license verification simple and reliable.

When integrating this system into your own project, you can choose how strictly you want to enforce licenses. Some projects will require a valid license NFT directly in their smart contracts. Others may start by enforcing licenses off-chain, for example in their backend or routing logic, and move enforcement on-chain later.

What matters is that governance decisions in our product are **binding and enforceable**.&#x20;


---

# 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.muesliswap.com/dao/matchmaker-governance-developer/getting-started-as-a-developer.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.
