> For the complete documentation index, see [llms.txt](https://docs.maple.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maple.finance/integrate/crosschain/syrupusd-crosschain.md).
# Asset Integration: Crosschain
Access syrupUSDC, syrupUSDT and syrupUSDG across multiple blockchains using CCIP. Find contract addresses, oracles, and bridge contracts for Solana, Arbitrum, Base, Plasma etc.
syrupUSDC, syrupUSDT and syrupUSDG use Chainlink Crosschain Interoperability Protocol (CCIP) to facilitate bridging and holding on chains other than Ethereum mainnet. CCIP handles secure crosschain token movement and message delivery, so you don’t need to build a custom bridge.
Both tokens have 6 decimals across all chains.
## Mainnet Addresses
### syrupUSDC
{% tabs %}
{% tab title="Solana" %}
{% endtab %}
{% tab title="Arbitrum" %}
{% endtab %}
{% tab title="Base" %}
{% endtab %}
{% tab title="Ink" %}
{% endtab %}
{% tab title="Monad" %}
{% endtab %}
{% tab title="Tempo" %}
*Note: syrupUSDC on Tempo is a* [*TIP-20 token*](https://docs.tempo.xyz/protocol/tip20/overview)*. Bridging works the same via CCIP.*
{% endtab %}
{% tab title="Robinhood" %}
{% endtab %}
{% tab title="Arc" %}
{% endtab %}
{% endtabs %}
### syrupUSDT
{% tabs %}
{% tab title="Plasma" %}
{% endtab %}
{% tab title="Mantle" %}
{% endtab %}
{% tab title="BNB" %}
{% endtab %}
{% tab title="Ink" %}
{% endtab %}
{% endtabs %}
### syrupUSDG
{% tabs %}
{% tab title="Robinhood" %}
{% endtab %}
{% tab title="Solana" %}
{% endtab %}
{% tab title="Arbitrum" %}
{% endtab %}
{% tab title="Ink" %}
{% endtab %}
{% endtabs %}
Price Feeds are Exchange Rate oracle contracts that Chainlink updates on a set heartbeat. They relay the token price from each pool's convertToExitAssets() function, standard in ERC-4626 implementations. To consume Price Feeds, use the Chainlink docs:
1. [Price Feeds Addresses](https://docs.chain.link/data-feeds/price-feeds/addresses)
2. [Consuming Data Feeds](https://docs.chain.link/data-feeds/getting-started)
### **Price Streams**
Price Streams deliver low-latency signed price reports offchain that your contract verifies onchain when consumed.
To consume Price Streams, use the Chainlink Docs:
* [Streams Addresses](https://data.chain.link/streams)
* [Streams Integration (EVM)](https://docs.chain.link/data-streams/tutorials/evm-onchain-report-verification)
* [Streams Integration (Solana)](https://docs.chain.link/data-streams/tutorials/solana-onchain-report-verification)
## Testnet Addresses
CCIP provides two ERC-20 test tokens, so you don’t depend on third-party liquidity while testing:
* **CCIP-BnM (Burn & Mint):** deployed on each testnet; transfers are burn → mint
* **CCIP-LnM (Lock & Mint):** minted only on Ethereum Sepolia
Find out more and acquire test tokens by visiting the [CCIP Test Tokens page](https://docs.chain.link/ccip/test-tokens) and the addresses of tokens available via the [CCIP Testnet Directory](https://docs.chain.link/ccip/directory/testnet).
## Integration paths
### 1) Offchain integrators (bridge, wallets & aggregator UIs)
If you run a bridge, wallet, or aggregator UI, use the **token** and **router** addresses per chain (below) to configure your routes and call patterns. Typically, you won’t deploy onchain contracts - your UI directs users to call the CCIP Router with the correct params.
#### High-level flow
1. User picks source & destination chains in your UI or protocol flow
2. Approve syrupUSDC / syrupUSDT to the CCIP Router on the source chain (standard ERC-20 approval; Solana uses SPL program approvals)
3. Initiate CCIP transfer via the Router with destination chain selector, recipient, and amount
4. CCIP finalizes on destination chain and releases/mints syrupUSDC / syrupUSDT to the recipient
#### Implementation notes
* Always call the CCIP Router listed for the source chain; don’t hit low-level endpoints directly
* Chain selectors & fees: Pull chain selectors and fee token options from the [CCIP directory](https://docs.chain.link/ccip/directory/mainnet); keep them in config
* Solana (SVM) specifics: Use the SVM Router program (`ccip_send`) and follow the [SVM API docs](https://docs.chain.link/ccip/api-reference/svm/v1.6.0/router?utm_source=chatgpt.com) for building send/receive flows
* Observability: Track the CCIP message ID from the Router response and correlate with destination events
### 2) Onchain integrators (protocols)
If your protocol needs to bake in crosschain syrupUSDC transfers, implement CCIP send/receive flows in your smart contracts and interact with the Router on the source chain, please contact us at .
## Resources & Contact
* Partnerships & queries:
* [CCIP docs](https://docs.chain.link/ccip)
* [CCIP Mainnet Directory](https://docs.chain.link/ccip/directory/mainnet)
* [Token page (syrupUSDC)](https://docs.chain.link/ccip/directory/mainnet/token/syrupUSDC)
* [Token page (syrupUSDT)](https://docs.chain.link/ccip/directory/mainnet/token/syrupUSDT)
* [Token page (syrupUSDG)](https://docs.chain.link/ccip/directory/mainnet/token/syrupUSDG)
* [Integration Support](https://chain.link/ccip-contact)
---
# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.
## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.
Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:
```
GET https://docs.maple.finance/integrate/crosschain/syrupusd-crosschain.md?ask=&goal=
```
`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.