Batcher dex by Marigold

Batcher’s goal is to enable users to deposit tokens with the aim of being swapped at a fairprice with bounded slippage and almost no impermanent loss.

Launch App

Schedule a 30 min meeting to talk about your project

Launch App

Public Betanet running.

Sidechain smart contracts:
- Bridge: KT1R3xuiZ8VnZcPgwCMZ25s8eBfCpDZCMcyx

TzPortal contract:

Deku Nodes:
- Node 0
- Node 1
- Node 2
- Node 3

Resource #1


Resource #2


Resource #3

What is Batcher?

Batcher is a decentralized exchange (DEX) that offers batch clearing without the use of a liquidity pool. Batcher provides low slippage and little to no impermanent loss.

What is the batch clearing used by Batcher?

Batcher takes orders from users in a specified time window (currently 10 mins). All orders placed in this time window constitute a batch. At the end of the time window the batch is closed so that no more orders can be placed. All the orders in this batch will then go through clearing and the swap orders placed will be fully filled, partially filled or not filled.

What happens if my order isn’t filled?

In the event that an order isn’t filled (either fully or partially), the original amount of token that hasn’t been filled can be redeemed back to the wallet that placed the order. This can be done on the holdings tab.

Why does Batcher not give an explicit swap price?

Batcher works differently to most DEXs in that the swap price that the swaps are executed at is related to a FUTURE oracle price. As such, the Batcher Dapp show the current Oracle price as a reference only.

What do the price levels in Batcher mean?

As Batcher uses a future Oracle price to execute swaps, a user cannot select a specific price to execute the swap at. When using Batcher, a user would rather select one of the price tranches when placing a swap. The available tranches are all given in the context of the future oracle price. Those tranches are:
- Oracle price + 10 basis points
- Oracle price
- Oracle price - 10 basis points

Why would I want to select a worse price when there is an option for a better price?

The selection of price in Batcher is related to the relative probability of the order being filled. Chosing a better price for the order will result in a lower probability of the order being filled. This is due to the likelyhood of less users on the opposite side of the trade pair being interested in the trade at that price. The converse is true for a worse price.  On the opposite side of the trade pair there is likely to be more users interested in the trade at that price and therefore have a higher probability of the order being filled.

What happens if my order is partially filled?

If an order is partially filled, a user can redeem both the partial fill in the opposing token plus any unfilled amount in the original token. Both can be redeemed in the holdings tab.

What is pro-rata execution?

Pro-rata execution is a method of batch clearing that ensures all assets are sold in even proportions, ensuring fairness for all participants.

What are the trading fees?

Batchers charges a nominal fee for an order being placed. This fee is currently 0.01 XTZ. Batcher will transfer the fee to a burn address. In line with the governing tenet of transparency in Tezos and the Blockchain ecosystem more widely, both the fee amount and the burn address in receipt of the fees will be visible in the contract storage at any time. Marigold will maintain an administrator multisig address that can change both the fee and the burn/recipient address after the contract is deployed. This administration is to future-proof Batcher and ensure it stays a part of the Tezos ecosystem for a long time.

What is liquidity composability?

Batcher is designed to be composable with Sirius DEX to provide a high liquidity route from XTZ to stablecoins like EUR and USDT. XTZ can be exchanged to tzBTC via Sirius DEX and then onto a stable coin via Batcher

tez →(Sirius DEX)→ tzBTC →(Batcher)→ USDT

What are the risks of using Batcher?

See the audit section right below.

Smart Contracts are audited by InferenceAG :

Batcher use Oracle price based on 1:1 for tzBTC:BTC & EURL:EURO. The Oracle price observed to decide the tranche are BTC/USDT for tzBTC/USDT swap and BTC/EUR for tzBTC/EURL swap. A depeg of tzBTC or EURL would impact Batcher.
Both are 1:1 stablecoin with collateral on vault and not lended.
LUGH publish monthly audit of EURL:
BTC collaterals for tzBTC supply are public:

For more information read the associated blog posts on Batcher:

- Batcher - Batcher is now live on Tezos mainnet ✨
- Batcher - The batch clearing dex
- Batcher - Moving to Pro-Rata Execution
- Batcher - Trading Fees
- Batcher - Liquidity & Composability

Additionally, we prepared short video tutorials to help you start using Batcher:

- Batcher - Placing a deposit for swap
- Batcher - Redeeming holdings

*Disclaimer:* All investing comes with risk and DeFi is no exception. The following content contains no financial advice.Please do your own thorough research and note that all users funds are traded at their own risk (No reimbursement will be made and Marigold will not assume responsibility for any losses).