OpenAPI Specification
openapi: 3.1.0
info:
title: Rift Router Orders Quotes API
version: v3-beta
description: Rift is a decentralized exchange (DEX) aggregator that routes swap orders across 20+ venues and bridges to guarantee best-price execution with no added fees. This Router API exposes market quoting, market order creation, and health/provider status endpoints. Reconstructed faithfully from the published API reference at https://docs.rift.trade; the API is in beta.
contact:
name: Rift
url: https://rift.trade
x-apis-json-generated: '2026-07-21'
x-apis-json-method: generated
x-apis-json-source: https://docs.rift.trade/api
servers:
- url: https://router-gateway-v3-production.up.railway.app
description: Production router gateway (v3, beta)
tags:
- name: Quotes
description: Best-price quoting across routing venues
paths:
/quote:
post:
operationId: getMarketQuote
summary: Get a market quote
description: Returns a best-price market quote for swapping one asset into another, routed across Rift's connected venues. The returned quoteId is used to create a market order.
tags:
- Quotes
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteRequest'
responses:
'200':
description: Quote generated
content:
application/json:
schema:
$ref: '#/components/schemas/Quote'
'400':
description: Invalid request
'401':
description: Unauthorized
'409':
description: Conflict
'413':
description: Payload too large
'500':
description: Internal server error
'502':
description: Bad gateway
'503':
description: Service unavailable
'504':
description: Gateway timeout
components:
schemas:
QuoteRequest:
type: object
required:
- from
- to
- fromAmount
properties:
from:
type: string
minLength: 1
maxLength: 96
description: Source asset identifier, e.g. "Bitcoin.BTC".
example: Ethereum.USDC
to:
type: string
minLength: 1
maxLength: 96
description: Destination asset identifier, e.g. "Ethereum.USDC".
example: Bitcoin.BTC
fromAmount:
type: string
minLength: 1
maxLength: 96
description: Amount of the source asset to swap.
example: '100'
orderType:
type: string
enum:
- market_order
- market
default: market_order
amountFormat:
type: string
enum:
- readable
- raw
default: readable
returnFullRoute:
type: boolean
default: true
description: Include the winning route rows when true.
Quote:
type: object
properties:
quoteId:
type: string
description: Unique quote identifier
orderType:
type: string
enum:
- market_order
from:
type: string
to:
type: string
expiry:
type: string
format: date-time
estimatedOut:
type: string
description: Expected output amount
route:
type: array
items:
type: object
description: Hop-by-hop execution details.
amountFormat:
type: string
enum:
- readable
- raw
expectedSwapTimeMs:
type: integer
minimum: 0
quoteCandidates:
type: array
items: {}
description: Debug records returned when requested.