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

# Swaps

> Exchange one token for another directly within DFNS through integrated providers: Uniswap (UniswapClassic, UniswapX) for single-chain DEX swaps and Circle CCTP for native cross-chain USDC transfers (burn-and-mint), with policy controls, slippage and fee limits, and a unified swap interface.

export const Youtube = props => {
  return <iframe className="w-full aspect-video rounded-xl" src={`https://www.youtube.com/embed/${props.videoId}`} title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen>
      </iframe>;
};

Swaps is designed to make token trading as simple and transparent as possible, all while keeping you secure within the DFNS ecosystem. Start swapping today and experience a new level of DeFi convenience!

DFNS swaps support three providers: UniswapClassic, UniswapX, and Circle CCTP.

| Provider | Description | Supported Chains |
| - | - | - |
| UniswapClassic | The widely adopted Uniswap v2/v3/v4 architecture accessed through the Universal Router. It provides deterministic, on-chain execution with deep liquidity across many ecosystems | Ethereum Mainnet, BNB Smart Chain, Polygon, zkSync, Base, Arbitrum, Celo, Avalanche, Worldchain, etc.  <br />  <br />Check the full list [here](https://api-docs.uniswap.org/guides/supported_chains) |
| UniswapX | The latest version of Uniswap's swap protocol focused on efficient routing, improved UX, and better rates. | Ethereum Mainnet, Arbitrum, Base and Unichain  <br />  <br />Check the full list [here](https://api-docs.uniswap.org/guides/supported_chains) |
| CircleCctp | Native cross-chain USDC transfer using Circle's [Cross-Chain Transfer Protocol](https://www.circle.com/cross-chain-transfer-protocol). USDC is burned on the source chain and minted on the destination chain. Both the input and output asset must be USDC, on **different** networks. | **Mainnet — Fast and Standard transfer:** Ethereum, Optimism, Arbitrum, Base, Solana, Ink, Plume, Codex  <br />  <br />**Mainnet — Standard transfer only:** Avalanche, Polygon, XDC, Sonic, Sei  <br />  <br />**Testnet:** Ethereum Sepolia, Base Sepolia, Solana Devnet, Ink Sepolia, Plume Sepolia, Codex Sepolia, XDC Apothem, Sonic testnet, Sei Atlantic-2 |

<Note>
  **Single-chain swaps (Uniswap)** execute on one EVM chain: the input and output token are on the same network. DFNS does not integrate other DEX aggregators (0x, 1inch, Jupiter, LI.FI, Squid, and so on).

  **Cross-chain USDC (Circle CCTP)** is the exception: DFNS does support cross-chain transfers, natively, for USDC. CCTP moves USDC between supported chains using Circle's burn-and-mint protocol, so both the source and destination asset must be USDC. This means a transfer like USDT ERC-20 → USDT TRC-20 is not possible — not because DFNS lacks cross-chain support, but because CCTP covers only USDC and does not include TRON. To move any other token across chains, build the bridge transaction yourself and submit it via [Sign & Broadcast](/api-reference/wallets/sign-and-broadcast-transaction). See the [FAQ](/faq) entry on swapping and cross-chain transfers.

  Source and destination must be in the same environment: both mainnet or both testnet. Cross-environment bridging (for example, mainnet to testnet) is not supported.
</Note>

<Note>
  CircleCctp must be enabled for your organization, and you must accept the CCTP agreement before your first swap. CCTP has no price slippage; instead of `slippageBps` you set `feeToleranceBps` — the maximum bridge/forwarding fee you will accept, in basis points of the amount. Choose `Fast` or `Standard` transfer speed (Fast Transfer is not available on the Standard-only chains: Avalanche, Polygon, XDC, Sonic, and Sei). Every supported CCTP chain is EVM and uses ERC-20 USDC, except Solana, which uses SPL USDC.
</Note>

## How It Works

1. **Select Tokens:** Choose the token you want to swap and the token you want to receive.
2. **Enter Amount:** Specify how much you want to swap.
3. **Review Quote:** Instantly see the best available price, estimated fees, and minimum received.
4. **Set Slippage (Optional):** Adjust your slippage tolerance for added control.
5. **Confirm Swap:** Review all details and confirm your transaction.
6. **Track Status:** Monitor your swap in real time and view your transaction history at any time.

<Note>
  If you have a `Wallet:Sign` policy enabled, you will be asked for up to 4 policy approvals (depending on the asset being swapped). Make sure to approve the requests in less than 30 minutes for Uniswap Classic and less than 5 minutes for UniswapX; otherwise, the Swap will expire and fail.
</Note>

## Getting started

Using the dashboard? check out this video!

<Youtube videoId="DFQlAfs2tlw" />

Using our API? head to the [developer documentation](/api-reference/swaps)!

***

[^1]: Swaps are currently available on most EVM chains, with plans to expand to additional chains in the near future.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.