> 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" %}
TypeAddress
TokenAvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj
PoolHrTBpF3LqSxXnjnYdR4htnBLyMHNZ6eNaDZGPundvHbm
Receiver (Mint/Redeem)0x02B6A75c5D1F430F0614dc5AC8aD5F9D35fbA2c4
Price Feed (syrupUSDC/USDC)3TP6aEQ1VEt4VhwkpzccjVfvJUnvUDkziQ7pLFvZxir5
{% endtab %} {% tab title="Arbitrum" %}
TypeAddress
Token0x41CA7586cC1311807B4605fBB748a3B8862b42b5
Pool0x660975730059246A68521a3e2FBD4740173100f5
Receiver (Mint/Redeem)0x02B6A75c5D1F430F0614dc5AC8aD5F9D35fbA2c4
Price Feed (syrupUSDC/USDC)0xF8722c901675C4F2F7824E256B8A6477b2c105FB
{% endtab %} {% tab title="Base" %}
TypeAddress
Token0x660975730059246A68521a3e2FBD4740173100f5
Pool0xA36955b2Bc12Aee77FF7519482D16C7B86DBe42a
Receiver (Mint/Redeem)0x02B6A75c5D1F430F0614dc5AC8aD5F9D35fbA2c4
Price Feed (syrupUSDC/USDC)0x311D3A3faA1d5939c681E33C2CDAc041FF388EB2
{% endtab %} {% tab title="Ink" %}
TypeAddress
Token0x3c23e6FB09064e9A64829Fa8FEe27Ad19A27Bfa9
Pool0xa3361ff0d9cA1cBA31335a3280eECe47f1a08F43
Receiver (Mint/Redeem)0x02B6A75c5D1F430F0614dc5AC8aD5F9D35fbA2c4
Price Feed (syrupUSDC/USDC)0x8B7CdBdE0109a838cb539FF40f4ca5C18b9ad7a7
{% endtab %} {% tab title="Monad" %}
TypeAddress
Token0xaB6e5a0C3799d020c790D34F7B2C02639e238AF7
Pool0x4eA35565147A7A6BfDAF7e605BDCdA4BD039A540
Receiver (Mint/Redeem)0x02B6A75c5D1F430F0614dc5AC8aD5F9D35fbA2c4
Price Feed (syrupUSDC/USDC)0xaeC21ef8f7aA33687c647BFEDaA8CD7F7855973F
{% endtab %} {% tab title="Tempo" %}
TypeAddress
Token0x20c0000000000000000000008191667423F70E67
Pool0xEe71b1a542BeeDf2270437fDEaC190Bd9abBCB19
Price Feed (syrupUSDC/USD)0x14150E642cA7392e33bB5F0141c131c1e5Ac1D10
*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" %}
TypeAddress
Token0xC6a4854eeB493224d5f9485E12Dd3A81f22EEE14
Pool0x50056397CF6ccF50D1748e95c32EC361951ee6F9
Price Feed (syrupUSDC/USDC)0x6317f016FA3e312C4625dee51d32b43a223011f8
{% endtab %} {% tab title="Arc" %}
TypeAddress
Token0x0dC6b79F3c3854E4d74514fD4d29BE6c96Beee39
Pool0x6be14E674f741faa78da2fEcF00870C8B753A0BB
Price Feed (syrupUSDC/USDC)0x46c87ABb22510DE522121BE80adbB0Ca05Fb14E4
{% endtab %} {% endtabs %} ### syrupUSDT {% tabs %} {% tab title="Plasma" %}
TypeAddress
Token0xC4374775489CB9C56003BF2C9b12495fC64F0771
Pool0x1d952d2f6eE86Ef4940Fa648aA7477c8fF175F09
Token Admin (Timelock)0x2eFFf88747EB5a3FF00d4d8d0f0800E306C0426b
Price Feed (syrupUSDT/USDT)0x89a0e204591Fce2611e89CA7634c12B400d347fe
{% endtab %} {% tab title="Mantle" %}
TypeAddress
Token0x051665f2455116e929b9972c36d23070f5054ce0
Pool0x0aA145a62153190B8f0D3cA00c441e451529f755
Token Admin (Timelock)0x2eFFf88747EB5a3FF00d4d8d0f0800E306C0426b
Price Feed (syrupUSDT/USDT)0xdDEaeAdF319bd363120Af02fBdb1e2C5A3Ce172a
{% endtab %} {% tab title="BNB" %}
TypeAddress
Token0x8E9d4cEa39299323FE8eda678cAD449718556c4e
Pool0xEAA7E1f805747ae29d5618b568d1b044A8b37A01
Price Feed (syrupUSDT/USDT)0xac9962aAb7b8fe63fA3A5065c22D4Dd700B1C658
{% endtab %} {% tab title="Ink" %}
TypeAddress
Token0x8A76fe7fA6da27f85a626c5C53730B38D13603d7
Pool0x543164a51401a468B6Fee3F7db27a30871448ff5
Token Admin (Timelock)0x2eFFf88747EB5a3FF00d4d8d0f0800E306C0426b
Price Feed (syrupUSDT/USDT)0x8B4EF9c2B61fdfd0c45d9897C923822aEfe10B85
{% endtab %} {% endtabs %} ### syrupUSDG {% tabs %} {% tab title="Robinhood" %}
TypeAddress
Token0x40858070814a57FdF33a613ae84fE0a8b4a874f7
Pool0x01FA676ECC8662E6923fdF06bA5278A96ccD725c
Price Feed (syrupUSDG/USDG)0xDd194C66aDcb422F188a04434e4824D70c151cF0
{% endtab %} {% tab title="Solana" %}
TypeAddress
TokenCYB6WRi2YuV4Ui6q1dieP5Raev6ah7qftGsQAxJiZo8f
PoolH1w3zL4yJKqHXut3dHvFQVCbjmYt5DZ3ioZcZrYZZD11
{% endtab %} {% tab title="Arbitrum" %}
TypeAddress
Token0xE1B0dC5A21b10f1634fBfbE9976fBA2Ee2e1c762
Pool0x5355292a5C36C4094B93fB62aA1FEFCa6e28b75f
Price Feed (syrupUSDG/USDG)0x6b1aBf37cFB16deedD27D7C23168e7dF4feD8AFF
{% endtab %} {% tab title="Ink" %}
TypeAddress
Token0xeBE9ed66eFe0948D0c1B72b0157Fc17733667018
Pool0x376d6f0e7718B6F5642D92F13ca516c8B4f5A91F
Token Admin (Timelock)0x2eFFf88747EB5a3FF00d4d8d0f0800E306C0426b
Price Feed (syrupUSDG/USDG)0xbc9E6Fa14945C6f486d17e0aF4f982d63310Ee35
{% endtab %} {% endtabs %} Price Feeds are onchain contracts that Chainlink updates on a set heartbeat. They can be read directly. 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.
Price StreamAddress / Link
syrupUSDC/USDC0x000721629eb23678e5c52595523785ae4e0ef470ca8a1cb7e894edcfa03dcfe9
syrupUSDG/USDG0x0007f1bf39f52bb9fc4c0a87fe2d1de5e8105a2d3899ca09051082337cc44d91
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.