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

# Stableswaps

> Tighter pricing on stablecoin pairs through a dedicated stable-pair router — no new parameters or endpoints.

Swaps runs a dedicated stableswap protocol that prices
stablecoin-to-stablecoin trades far tighter than general-purpose DEX routing.
It is fully transparent to integrators: request a supported stable pair
through [`GET /getAction`](/swap-api-reference/get-action) and Swaps
automatically routes through the stableswap venue when it wins on price.
There are no new parameters and no new endpoints.

## Supported scope

Live today on **Solana mainnet**, for any pair among:

| Token | Mint                                           |
| ----- | ---------------------------------------------- |
| USDC  | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` |
| USDT  | `Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB` |
| PYUSD | `2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo` |
| xoUSD | `xoUSDq85Rjsb6SbUwJyreFgeWQvxdkT7R3c3g7s6p5Y`  |

Stableswap routes support **sponsorship**: pass the standard `solanaSponsor`
parameter and the sponsor covers transaction fees and rent on behalf of the
user, making the swap gasless from the user's perspective.

## Example

A same-chain Solana swap from USDC to PYUSD — a standard `getAction` request:

```bash theme={null}
curl "https://api-v2.swaps.xyz/api/getAction?\
actionType=swap-action&\
sender=<USER_SOLANA_ADDRESS>&\
srcChainId=1399811149&\
srcToken=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&\
dstChainId=1399811149&\
dstToken=2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo&\
amount=100000000&\
swapDirection=exact-amount-in&\
slippage=100&\
recipient=<USER_SOLANA_ADDRESS>" \
  -H "x-api-key: $API_KEY"
```

The response is a standard `ActionResponse` with a serialized Solana
transaction to sign and broadcast. When the stableswap venue offers the best
execution for the pair, Swaps selects it automatically — the request and
response shapes are identical either way.

## Tracking

Stableswaps are tracked like any other swap: poll
[`GET /getStatus`](/swap-api-reference/get-status) with the `txId` or use
[webhooks](/guides/track-transactions).

## Direct integration

Routing over the stableswap venues at the contract level — for example, as a
DEX aggregator plugging on-chain liquidity into your own routing graph? See
the [Protocol Reference](/protocol-reference/overview).
