> ## 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.

# Frequently asked questions

> Common questions about XOXNO infrastructure services.

Common questions about XOXNO infrastructure services.

## General

<AccordionGroup>
  <Accordion title="What is XOXNO infrastructure?">
    MultiversX infrastructure: a Transaction Relayer for broadcasting and real-time data streaming, a DEX Aggregator for selected swap routing, and a Rust-native RPC Gateway.
  </Accordion>

  <Accordion title="Do I need an API key?">
    No. All endpoints are public. Enterprise plans with higher limits are available on request.
  </Accordion>

  <Accordion title="Which networks are supported?">
    XOXNO infrastructure is available on MultiversX mainnet (chain ID `1`).
  </Accordion>

  <Accordion title="Is there an SLA?">
    Enterprise customers receive SLA guarantees. Contact us on [Telegram](https://t.me/xoxno) for details.
  </Accordion>
</AccordionGroup>

## Transaction Relayer

<AccordionGroup>
  <Accordion title="What is the difference between broadcast and relay?">
    **Broadcast** submits a transaction where the user pays gas. You sign the transaction and send it via the `broadcast` WebSocket action or `POST /v1/broadcast`. The relayer does not co-sign.

    **Relay** (Gasless V3) is an enterprise feature where the relayer pays gas for the user. You include a shard-matched `relayer` address in the transaction, sign it, and send it via the `relay` action. The relayer co-signs and broadcasts to the network.

    Most applications use broadcast. Relay requires enterprise access.
  </Accordion>

  <Accordion title="What is gasless relaying (V3)?">
    Relayer V3 lets you submit transactions where the relayer pays gas for the user. Include a `relayer` field in the transaction with the shard-matched relayer address, sign it, and send it via the WebSocket `relay` action. The relayer co-signs and broadcasts to the P2P network. This is an enterprise-only feature.
  </Accordion>

  <Accordion title="How do I determine the correct shard relayer address?">
    The sender's shard must match the relayer's shard. Use these addresses:

    | Shard | Relayer address                                                  |
    | ----- | ---------------------------------------------------------------- |
    | 0     | `erd1l0x0n5yxsfcy93gm0vyvx9m9f7cte9h9vuq4am33ugpw3d5r3hvqx6f59h` |
    | 1     | `erd12yxd5phejzw83gn8qh6jfz6q9a0ekyyhkfd3c49r03mxw25l3a5swq3nf7` |
    | 2     | `erd13jxp0yjh7gjvzgrg5mj7e8rzhn5lzcye45l0p6e5996d543r7vrq9e50za` |

    Compute the sender's shard from their address and use the corresponding relayer.
  </Accordion>

  <Accordion title="What happens if I get a shard mismatch error?">
    The sender's shard and the relayer address's shard must match. Recalculate the sender's shard and use the correct relayer address. See [Relaying (Gasless V3)](/relayer/transaction-relaying) for details.
  </Accordion>

  <Accordion title="What are the WebSocket connection limits?">
    Each connection supports up to 64 topic subscriptions. The rate limit is 64 control messages per 5-second window. Maximum message size is 4 MB, and the heartbeat interval is 30 seconds (ping/pong). See [Connection and limits](/relayer/connection-limits).
  </Accordion>

  <Accordion title="How fresh are the gas statistics?">
    Gas stats update within 50 ms when pending mempool transactions arrive or recent block averages change per shard, with a 5-second periodic refresh during idle periods. Data covers a 30-minute sliding window of 10-second buckets and includes per-shard min, max, average, and percentiles (p50, p75, p90) for both gas price and PPU.
  </Accordion>
</AccordionGroup>

## DEX Aggregator

<AccordionGroup>
  <Accordion title="Which DEXs does the aggregator route through?">
    The aggregator analyzes liquidity across xExchange, AshSwap, JEX, and OneDex. Pool state updates in real time as on-chain changes occur.
  </Accordion>

  <Accordion title="What is split routing?">
    For large trades, the aggregator splits the order across multiple paths to minimize price impact. You can control this with the `maxSplits` parameter (default 5). The `algorithm` parameter lets you choose between `greedy`, `lagrangian`, or `hybrid` split allocation strategies.
  </Accordion>

  <Accordion title="Can I get a ready-to-sign transaction?">
    Yes. Pass the `sender` query parameter with your wallet address, and the response includes a complete `transaction` object ready for signing and submission.
  </Accordion>

  <Accordion title="What is a reverse quote?">
    A reverse quote lets you specify the desired output amount (`amountOut`) instead of the input amount. The aggregator calculates the required input, which is useful for "I want exactly X tokens" scenarios.
  </Accordion>

  <Accordion title="How do I handle quote freshness?">
    Quotes reflect pool state at the time of the request. Use the quote within a few seconds. Set a `slippage` tolerance (default 1%) to account for price movement between quoting and execution.
  </Accordion>
</AccordionGroup>

## Gateway

<AccordionGroup>
  <Accordion title="Is the Gateway compatible with the Go proxy?">
    Yes. The Gateway is a drop-in replacement for the standard MultiversX Go proxy. All endpoint paths, request formats, and response shapes are identical. Switch by changing the base URL to `https://rust-gateway.xoxno.com`. See the [migration guide](/gateway/migration-from-go-proxy).
  </Accordion>

  <Accordion title="How does shard routing work?">
    The Gateway routes each request to the correct shard observer by deriving the shard from the address (last byte of the public key modulo the number of shards). The Gateway handles shard resolution for you. See [shard routing](/gateway/shard-routing).
  </Accordion>

  <Accordion title="Which endpoints are cached?">
    Block, hyperblock, heartbeat, validator statistics, and economics responses are TTL-cached. Account, transaction, and VM query endpoints return fresh data from the observer. The Gateway also deduplicates identical concurrent requests. See [caching and deduplication](/gateway/caching-and-dedup).
  </Accordion>

  <Accordion title="Can I query historical state?">
    Yes. Add `blockNonce`, `blockHash`, or `onStartOfEpoch` query parameters to most address and VM endpoints. The Gateway automatically routes historical queries to full-history observer nodes.
  </Accordion>

  <Accordion title="Does the Gateway sign transactions?">
    No. The Gateway forwards pre-signed transactions to observer nodes. You must sign transactions before submitting them via `POST /transaction/send`. For gasless transaction signing, use the [Relayer](/relayer/transaction-relaying).
  </Accordion>
</AccordionGroup>

## Support

<AccordionGroup>
  <Accordion title="How do I get help?">
    Join the [XOXNO Telegram](https://t.me/xoxno) for technical support, feature requests, and community discussions. For enterprise inquiries, reach out directly to the team on Telegram.
  </Accordion>

  <Accordion title="Where can I report bugs?">
    Report issues on [GitHub](https://github.com/XOXNO) or in the XOXNO Telegram channel.
  </Accordion>
</AccordionGroup>
