> ## Documentation Index
> Fetch the complete documentation index at: https://xoxno.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DEX Aggregator

> Quote MultiversX swaps across xExchange, AshSwap, JEX, and OneDex, then request transaction data for signing.

Use the Aggregator to quote MultiversX swaps and, when `sender` is present, receive transaction data your wallet can sign.

## Use This When

| Need                                     | Use                                                |
| ---------------------------------------- | -------------------------------------------------- |
| Price a swap before the user signs       | `GET /api/v1/quote` with `amountIn` or `amountOut` |
| Build transaction data for a wallet flow | Add `sender` to the quote request                  |
| Check token decimals and minimum input   | `GET /api/v1/pair-config` before quoting           |
| Detect a same-token arbitrage cycle      | Set `from` and `to` to the same token              |

## Do Not Use This When

| Need                                                         | Use instead                                            |
| ------------------------------------------------------------ | ------------------------------------------------------ |
| You need account, nonce, or transaction status data          | [Gateway](/gateway/overview)                           |
| You already signed the transaction and only need propagation | [Relayer broadcast](/relayer/transaction-broadcasting) |
| You need Stellar routes or a Stellar `TransactionEnvelope`   | [Stellar Aggregator](/stellar-aggregator/overview)     |

## Base URL

```text theme={"system"}
https://swap.xoxno.com
```

No API key is required; per-IP rate limits apply.

## Flow

<Steps>
  <Step title="Validate the pair">
    Call `/api/v1/pair-config` to confirm `supported: true`, read token decimals, and check `minAmountIn`.
  </Step>

  <Step title="Quote the route">
    Call `/api/v1/quote` with exactly one amount field: `amountIn` for forward quotes or `amountOut` for reverse quotes.
  </Step>

  <Step title="Request transaction data">
    Pass `sender` when the user is ready to sign. The response can include a full transaction object and encoded `txData`.
  </Step>

  <Step title="Sign and broadcast">
    Sign the returned transaction with the user's wallet, then broadcast it through the wallet, Gateway, or Relayer.
  </Step>
</Steps>

## Limits

| Action            | Limit or behavior                                            |
| ----------------- | ------------------------------------------------------------ |
| Any request       | 100 requests per second per IP                               |
| Quote freshness   | Quotes use the latest pool snapshot available to the service |
| Liquidity sources | xExchange, AshSwap, JEX, OneDex                              |
| Transaction data  | Do not reuse `txData` across quote requests                  |
| Amount format     | Use integer strings in the token's smallest unit             |

<Warning>
  Token decimals vary by asset. Convert from human-readable amount to smallest unit before quoting, and verify decimals with `/api/v1/pair-config`.
</Warning>

## Endpoints

| Endpoint              | Method | Job                                                  |
| --------------------- | ------ | ---------------------------------------------------- |
| `/api/v1/quote`       | `GET`  | Quote a route and optionally return transaction data |
| `/api/v1/pair-config` | `GET`  | Validate support and return decimal metadata         |
| `/health`             | `GET`  | Check service health                                 |

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/aggregator/quickstart">
    Validate a pair, fetch a quote, and inspect the transaction fields.
  </Card>

  <Card title="Quote endpoint" icon="calculator" href="/aggregator/quote">
    Required params, response fields, errors, and executable examples.
  </Card>

  <Card title="Pair config" icon="sliders" href="/aggregator/pair-config">
    Confirm token support, decimals, and minimum input.
  </Card>

  <Card title="Integration guide" icon="book-open" href="/aggregator/integration-guide">
    Wire quotes into a signing and broadcast flow.
  </Card>
</CardGroup>
