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

# Rondo protocol

> Direct, escrowed JPYC, IDRX and IDRP orders against USDT on Kaia — with atomic settlement and oracle-aware pricing.

<div className="rondo-hero">
  <div className="rondo-hero-copy">
    <span className="rondo-kicker"><span className="rondo-live-dot" /> LIVE ON KAIA MAINNET</span>
    <h2>Trade regional stablecoins and USDT directly.</h2>

    <p>
      Makers escrow what they offer. Takers choose a live order. Rondo moves both legs together
      in one on-chain transaction — without routing the trade through a liquidity pool.
    </p>

    <div className="rondo-hero-actions">
      <a className="rondo-primary-action" href="https://rondo.finance">Open Rondo <span>↗</span></a>
      <a className="rondo-secondary-action" href="/quickstart">Read the quickstart <span>→</span></a>
    </div>
  </div>

  <div className="rondo-hero-mark" aria-hidden="true">
    <img src="https://mintcdn.com/rondo-docs/6WdVohD6JxJcz9w6/logo/rondo-symbol.png?fit=max&auto=format&n=6WdVohD6JxJcz9w6&q=85&s=456c6b47d701818e98ae164ad2e91597" alt="Rondo orbit symbol" noZoom width="768" height="768" data-path="logo/rondo-symbol.png" />
  </div>
</div>

<div className="rondo-facts" aria-label="Protocol facts">
  <div><span>MARKETS</span><strong>JPYC · IDRX · IDRP / USDT</strong></div>
  <div><span>NETWORK</span><strong>Kaia · 8217</strong></div>
  <div><span>SETTLEMENT</span><strong>Atomic</strong></div>
  <div><span>TAKING</span><strong>Open by default</strong></div>
</div>

## Start with your goal

<CardGroup cols={2}>
  <Card title="Use Rondo" icon="arrow-right-arrow-left" href="/quickstart" cta="Start trading" arrow>
    Learn which side of the book to open, what to enter in the ticket, and why a fill may be disabled.
  </Card>

  <Card title="Build an integration" icon="code" href="/build/frontend" cta="Integration guide" arrow>
    Read the book at one block, reproduce the contract's rounding, and construct safe fill arguments.
  </Card>
</CardGroup>

## The settlement in one view

```text theme={"system"}
maker ── sell token into escrow ──▶ Rondo

taker ── token wanted by maker ─────────────────▶ maker
Rondo ── escrowed token, less protocol fee ─────▶ taker
                         one atomic transaction
```

The maker's sell-side funds are already in the contract before an order appears. On fill, the
taker's payment goes directly to the maker and the escrowed asset goes to the taker. If any check
or transfer fails, the whole transaction reverts.

<CardGroup cols={2}>
  <Card title="Fixed price" icon="lock">
    The maker stores one ratio. It does not move after posting and a fill does not read the oracle.
  </Card>

  <Card title="Oracle-pegged" icon="wave-square">
    Every fill reprices from Orakl. The maker chooses the taker's premium and a floor below which the order pauses.
  </Card>
</CardGroup>

[Compare both order types →](/protocol/orders)

## What the protocol guarantees

<AccordionGroup>
  <Accordion title="Every visible order is escrow-backed">
    The maker transfers the full offered amount into Rondo when the order is created. The contract
    records what remains and never depends on the maker sending that token later.
  </Accordion>

  <Accordion title="Both legs settle together">
    Payment to the maker and release from escrow happen in one transaction. There is no protocol
    state in which one leg completed while the other is still waiting for an operator.
  </Accordion>

  <Accordion title="A price move cannot exceed a signed bound">
    The taker signs a maximum payment. A pegged maker stores a minimum acceptable rate. Movement
    outside either bound causes a revert instead of an unexpectedly bad fill.
  </Accordion>

  <Accordion title="Protocol controls do not disable exits">
    Pause and oracle staleness stop trading, not cancellation or expiry. [Read the security model](/protocol/security).
  </Accordion>

  <Accordion title="Fees are isolated from maker escrow">
    Protocol fees are accounted for separately from the balance still owed to open orders.
  </Accordion>
</AccordionGroup>

## Access model

| Action                 | Who can do it                                                                                  |
| ---------------------- | ---------------------------------------------------------------------------------------------- |
| Post an order          | Wallets with `MAKER_ROLE`                                                                      |
| Fill an order          | Anyone while `takerWhitelistEnabled == false` — all deployed instances currently use this mode |
| Cancel an order        | Its maker; unused escrow is returned                                                           |
| Sweep an expired order | Anyone; the refund always goes to the maker                                                    |

<Note>
  Taking availability is configurable. Integrations should call `canTake(account)` on the selected
  market rather than infer access from `TAKER_ROLE` alone.
</Note>

<CardGroup cols={2}>
  <Card title="Security model" icon="shield-halved" href="/protocol/security" cta="Review protections" arrow>
    How Rondo protects escrow, settlement and transaction bounds.
  </Card>

  <Card title="Verified deployment" icon="link" href="/reference/deployments" cta="See addresses" arrow>
    Market, lens, oracle and token addresses with the live configuration.
  </Card>
</CardGroup>
