> For the complete documentation index, see [llms.txt](https://www.aevo.xyz/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.aevo.xyz/docs/aevo-products/aevo-builder-codes/for-builders.md).

# For Builders

Earn a fee on the trades your users make on Aevo.

## 1. Register your builder

1. Connect the account you want to receive fees with at [app.aevo.xyz](https://app.aevo.xyz). Use a dedicated account, because the fee account can't be changed later.
2. Make sure it holds at least the minimum USDC balance (currently 100 USDC).
3. Go to **Settings → Builders → Builder Dashboard**, enter your builder name and select **Register**.

You get a `builder_id` (for example `builder_0123456789abcdef`) straight away. You can also register through the API: see [Become a builder](/docs/api-reference/builder-codes/become-a-builder.md).

## 2. Get your users' approval

Each user approves your builder once, with the maximum fee you may charge them. The simplest way is to send them to the approval link:

```
https://app.aevo.xyz/builder/approve?builder_id=<builder_id>&max_fee_rate=0.0005
```

`0.0005` is 5 bps. The user reviews your builder's name and the maximum fee in the Aevo app and signs with their wallet. See [User approval](/docs/api-reference/builder-codes/user-approval.md) to build approval into your own app instead.

## 3. Attach your builder to orders

Add `builder_id` and `builder_fee_rate` to the orders your app places for a user, and include both in the order signature. You choose the rate per order, at or below the user's approved maximum and Aevo's protocol cap. See [Placing orders](/docs/api-reference/builder-codes/placing-orders.md).

## 4. Track your earnings

Open **Settings → Builders → Builder Dashboard** with your fee account to see:

* trading volume, fees earned, active, new and returning traders, and number of fills, compared with the previous period;
* maker and taker volume;
* daily volume and fee charts;
* per-market and per-trader breakdowns, and recent fills;
* a **Download CSV** export of every attributed fill;
* a lookup to check whether a given user has approved you.

The same data is available through the [Reporting API](/docs/api-reference/builder-codes/reporting-api.md). Use a read-only API key on your fee account for dashboards and accounting.

## Fees and limits

* **Perpetuals:** `builder fee = fee rate × price × contracts`.
* **Options:** `builder fee = min(fee rate × index price × contracts, premium cap × premium × contracts)`.
* Options fees are based on index notional and capped at a share of the premium, so they work differently from perpetuals. See [Perpetuals vs Options Fees](/docs/aevo-products/aevo-builder-codes/perps-vs-options-fees.md).
* **Maximum builder fee:** 5 bps on perpetuals; 3 bps of index notional on options, never more than 5% of the premium. Anything higher is rejected. A user can approve at most 5 bps.
* The live caps are also published at [`GET /builder-config`](/docs/api-reference/urls/public-api/getbuilderconfig.md).
* Fees are credited to your fee account in USDC on each fill. There is no separate payout.

## Good practice

* **Be clear with users** about the fee you charge and what your app does on their behalf.
* **Check the protocol caps** at startup rather than hardcoding them.
* **Test on testnet first** ([testnet.aevo.xyz](https://testnet.aevo.xyz)). See the [testnet guide](/docs/api-reference/builder-codes/testnet-and-reconciliation.md).

Aevo may suspend builders that mislead users or abuse the program. A suspended builder can't charge new fees.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://www.aevo.xyz/docs/aevo-products/aevo-builder-codes/for-builders.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
