Exchanging Stablecoins
Tempo features an enshrined decentralized exchange (DEX) designed specifically for trading between stablecoins of the same underlying asset (e.g., USDG to USDT). The exchange provides optimal pricing for cross-stablecoin payments while minimizing chain load from excessive market activity.
The exchange operates as a singleton precompiled contract at address 0xdec0000000000000000000000000000000000000. It maintains an orderbook with separate queues for each price tick, using price-time priority for order matching.
Trading pairs are determined by each token's quote token. All TIP-20 tokens specify a quote token for trading on the exchange. See Quote Tokens for more information on quote token selection and the optional pathUSD stablecoin. See the Stablecoin DEX Specification for detailed information on the exchange structure.
The exchange supports three types of orders, each with different execution behavior:
| Order Type | Description |
|---|---|
| Limit Orders | Place orders at specific price levels that wait in the book until matched or cancelled. Orders are added to the book immediately when placed. |
| Flip Orders | Special orders that automatically reverse to the opposite side when completely filled, acting like a perpetual liquidity pool. When a flip order is fully filled, the same orderId is rewritten on the opposite side and emits OrderFlipped. |
| Market Orders | Execute immediately against the best available orders in the book (via swap functions). Swaps and cancellations execute immediately within the transaction. |
For the complete execution mechanics, see the Stablecoin DEX Specification.
Exchange vs. Fee AMM
Tempo has two stablecoin-swapping systems that are easy to confuse. They serve different purposes:
| Exchange (DEX) | Fee AMM | |
|---|---|---|
| Purpose | User-facing stablecoin trading | Converting transaction fees into validators' preferred tokens |
| Who initiates swaps | Users and apps | The protocol, automatically (plus arbitrageurs rebalancing) |
| Pricing | Market-driven orderbook (price-time priority) | Fixed conversion price |
| Liquidity | Limit and flip orders resting in the orderbook | LP deposits into per-pair fee pools |
| Contract | Stablecoin DEX precompile (0xdec0…0000) | FeeManager precompile (0xfeec…0000) |
| Use it for | Swaps, prices, orderbook depth, fills | Letting users pay fees in any stablecoin |
If you want to trade stablecoins or read market data (pairs, swaps, orders, prices), use the Exchange. If you want to enable fee payments in your stablecoin or provide fee-conversion liquidity, see the Fee AMM.
To get started with the exchange, explore these guides:
Quote prices and swap between stablecoins
Place orders and flip orders to earn spreads
Manage token balances on the DEX to save gas costs
Was this helpful?