# CCIP Programmable Token Transfers in DeFi

#### Cross-Chain Swaps

CCIP Programmable Token Transfers enable cross-chain swap use cases, where any token can be effectively bridged over CCIP by connecting to liquidity pools / DEXs on the source and destination chains.&#x20;

For example, a cross-chain swap app built on CCIP enables users holding Token A on Arbitrum to be swapped for Token B on Optimism by first swapping Token A on Arbitrum for USDC, bridging the USDC to Optimism along with data about the swap, and then automatically swapping the USDC to Token B and sending it to the user’s wallet. This is why [CCIP’s support for native USDC](https://docs.chain.link/ccip/tutorials/usdc) is so powerful; it doesn’t just support the cross-chain transfer of native USDC via burn and mint, but also the simultaneous transmission of data on what to do with the USDC once it arrives on the destination chain—a unique feature of CCIP Programmable Token Transfers.

<figure><img src="https://3336775262-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVxFPzCGStHLGRVz3QBdQ%2Fuploads%2FUffSflKnxaZSuHy0bFhm%2FCCIP-Circle-CCTP-Diagram_V5-2048x1029.png?alt=media&#x26;token=acf8f6a5-3372-4dfb-8855-62f35a699351" alt=""><figcaption><p>Chainlink CCIP enables Programmable Token Transfers across blockchains involving the USDC stablecoin.</p></figcaption></figure>

[XSwap](https://xswap.link/) is a cross-chain swaps protocol and [BUILD](https://chain.link/economics/build-program) participant that uses CCIP for Programmable Token Transfers to enable cross-chain swaps between blockchain networks. USDC is used as the liquidity token for XSwap. Since its launch, XSwap users have initiated over $130M in CCIP Programmable Token Transfers.&#x20;

Other users of CCIP Programmable Token Transfers include [Transporter](https://www.transporter.io/), [ChainSwap](https://www.chain-swap.org/), [WEMIX PLAY](https://wemixplay.com/en), [Amino Rewards](https://aminorewards.com/), and more.

#### Cross-Chain Staking and Restaking

CCIP Programmable Token Transfers unlock innovation for [cross-chain staking and restaking](https://blog.chain.link/chainlink-for-lsts-and-lrts/). End-users can stake/restake assets directly from a layer-2 network, where CCIP is used to transfer the native assets back to the layer-1 blockchain chain along with instructions to (re)stake the asset in a specified (re)staking protocol. This reduces gas costs for users and provides them the convenience to (re)stake from any chain.&#x20;

For example, [EigenPie is integrating Chainlink CCIP](https://blog.eigenpiexyz.io/eigenpie-is-integrating-chainlink-ccip-to-unlock-cross-chain-liquid-restaking-e2e3cfd639b4) to enable its users to deposit ETH directly into their layer-2 contracts in order to receive the corresponding LRT (egETH) without ever having to leave the chain. Once users deposit ETH into the layer-2 contract, CCIP’s Programmable Token Transfers will bridge the tokens to Ethereum with instructions to restake them into Eigenlayer. CCIP is then used to lock the minted egETH on Ethereum and bridge it back to the L2 where it is minted and sent to the end user’s wallet address.

You can read more about Chainlink’s support for staking and restaking in the blog: [How The Chainlink Platform Unlocks LST and LRT Adoption in DeFi](https://blog.chain.link/chainlink-for-lsts-and-lrts/#chainlink_ccip). Learn how to implement Chainlink CCIP Programmable Token Transfers in the [CCIP Masterclass: Cross-Chain Staking Edition](https://go.chain.link/masterclasses/ccip-module-2) for a more technical deep dive.
