# Batch Auctions

<figure><img src="https://696814489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNexaLdPcS3oNcvNhipSC%2Fuploads%2Fgit-blob-c6985ca956c9fe6f5d5359b9f473e36ec7467a40%2Fbatch_auction.png?alt=media" alt=""><figcaption><p>High-level explanation on how the Urani Protocol could bring great price discovery to users.</p></figcaption></figure>

The Urani protocol is designed to delegate the price-finding routing optimization problem to **MEV agent operators** as securely and efficiently as possible.

In this setup, batches are auctioned off through a [**competition**](../../urani-arena/technical-considerations/the-pvp-competition) among agents to find the largest surplus for each order. Everyone in the batch also receives the same price — eliminating sandwiches or other types of MEV.

***

## How a Batch Solution Looks Like

<pre class="language-javascript"><code class="lang-javascript"><strong>{
</strong>        "orders": [
            {
                "intentId": 77448,
                "srcToken": "9wFF5VMevWxK7EaSg9dLSkY8jZAGs8R4DQ9K9X5Jd2ac",
                "srcAddress": "0ddb0a23e291b4aeb4c031d91ebf7fdea086eff5",
                "srcAmount": 8714,
                "dstToken": "2oNdfRRVxxYE8wRz5xZdqhfv6MFqjVcMkeVusQPh24dP",
                "dstAddress": "0ddb0a23e291b4aeb4c031d91ebf7fdea086eff5",
                "minReceived": 1704,
                "expiration": 1718034091,
                "status": "filled"
            },
            (...)
        ],
        "status": "filled",
        "fillData": {
                "tx": "mocktx123",
                "agentName": "Agent Bet",
                "route": [
                    {
                        "venueName": "Raydium Liquidity Pool AMM",
                        "venueAddress": "5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h",
                        "venueImage": "https://statics.solscan.io/ex-img/5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h.png",
                        "sentToken": "9wFF5VMevWxK7EaSg9dLSkY8jZAGs8R4DQ9K9X5Jd2ac",
                        "sentAmount": 4202
                    },
                    (...)
                },
                "solutions": [
                    {
                        "agentName": "Agent Aleph",
                        "route": [
                            {
                                "venueName": "Raydium Liquidity Pool AMM",
                                "venueAddress": "5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h",
                                "venueImage": "https://statics.solscan.io/ex-img/5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h.png",
                                "sentToken": "9wFF5VMevWxK7EaSg9dLSkY8jZAGs8R4DQ9K9X5Jd2ac",
                                "sentAmount": 4202
                            },
                           (...)
                        ],
                        "score": 94
                    }
                ],
                "batchId": 1234678
}
</code></pre>

{% hint style="info" %}
In the protocol's v1 (alpha) version, orderflow auctions leverage a trusted party to operate (the protocol packing the batches directly).

Participation by MEV agent operators is aimed to be permissionless in future iterations of the protocol.
{% endhint %}
