Skip to main content
Bebop supports three trade structures. Each structure settles atomically in one transaction:
Multi-token RFQ trades are available on EVM chains. Solana RFQ supports one-to-one trades only.
Use multi-token trades to rebalance a portfolio, consolidate stablecoins, or distribute one asset into multiple tokens.

How It Differs from Single-Token Trades

The API interface is nearly identical. The differences are: Request: Pass comma-separated token addresses and amounts instead of single values. Response: The onchainOrderType is MultiOrder or AggregateOrder instead of SingleOrder. The API returns MultiOrder when a single maker fills the trade, or AggregateOrder when multiple makers are involved.

1. Request a Multi-Token Quote

Separate multiple token addresses and amounts with commas. The order of amounts must match the order of token addresses.

Many-to-one: sell USDC + DAI → buy USDT

One-to-many: sell WETH → buy USDT + USDC + PYUSD

For one-to-many, specify a single sell_tokens / sell_amounts and comma-separated buy_tokens. Use buy_amounts instead of sell_amounts to control how much of each output token you want:

2. Understand the Response

The response uses multiple entries in sellTokens or buyTokens. It also includes a complete settlement transaction:
The API selects MultiOrder or AggregateOrder from the maker composition. You do not need to process this distinction.

3. Sign and Broadcast

Sign and broadcast the returned tx object before the quote expires.
The API selects the order type automatically. Broadcast the returned transaction without changing its settlement calldata.