# Overview

The 31Third batch trade smart contracts enable the execution of multiple transactions together as one bundle and collect a configurable fee in basis points of the receiving currency of the trade. The current implementation supports the following:

* Trades through 0xExchangeProxy ([`0xDef1C0ded9bec7F1a1670819833240f027b25EfF`](https://etherscan.io/address/0xDef1C0ded9bec7F1a1670819833240f027b25EfF))
* Wrapping/Unwrapping (W)ETH ([`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`](https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2))

## Architecture

For easily integrating with other liquidity sources, such as Aave, Curve, Balancer, and more in the future, the contracts utilize the adapter pattern and register the concrete implementations in a registry. The architecture can be seen in the following diagram:

<figure><img src="/files/1hF164HD7NTynmhemJsK" alt=""><figcaption><p>Contract architecture</p></figcaption></figure>


---

# 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.31third.com/protocol/overview.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.
