What is Chainlink CCIP?
Chainlink CCIP (Cross-Chain Interoperability Protocol) is the canonical bridging infrastructure built by Chainlink Labs. Unlike third-party bridges that introduce new trust assumptions, CCIP is secured by the same decentralized oracle network that already underpins hundreds of billions in DeFi value. Messages and tokens sent via CCIP are validated by independent Chainlink oracle nodes before settlement on the destination chain.
CCIP provides programmable token transfers — meaning a smart contract on the source chain can encode logic alongside the token transfer, not just move assets blindly. The destination chain contract executes that logic upon receipt. This programmability is what allows the stake.link WrappedTokenBridge to wrap, bridge, and deliver wstLINK in a single atomic transaction rather than requiring manual pre-wrapping by the user.
All staking on stake.link occurs on Ethereum mainnet. CCIP is purely the bridge layer — rewards continue accruing on Ethereum while the wrapped representation of your staked position lives and operates on the destination chain. No staking logic lives off-chain or on L2; CCIP connects the representation layer to the economic layer.
How stake.link Uses CCIP
The core contract that powers cross-chain stLINK is the WrappedTokenBridge. When a user initiates a bridge transaction on Ethereum, this contract handles three operations atomically: it accepts the user's stLINK (or wstLINK if already wrapped), converts to wstLINK at the current exchange rate, and dispatches a CCIP message carrying the wstLINK to the destination chain.
Bridge function signature
transferTokens(
destChainSelector,
receiver,
amount,
payInNative,
maxLinkFee
)maxLinkFee acts as a slippage guard — the transaction reverts if the required CCIP fee exceeds this ceiling, protecting against fee spikes.
Rebases on the Ethereum side are propagated cross-chain by the RebaseController contract (0x1711e93eec78ba83D38C26f0fF284eB478bdbec4), which is triggered by Chainlink Automation. This automation contract monitors the wstLINK exchange rate and fires rebase updates to all connected chains on a regular schedule, keeping the cross-chain token value synchronized with the Ethereum staking reality.
From the user's perspective, the experience is straightforward: send stLINK or wstLINK into the bridge on Ethereum, wait 15–30 minutes for CCIP confirmation, and receive wstLINK on the destination chain. The wrapping step is invisible — it happens inside the bridge contract before the CCIP message is sent.
Supported Chains and Addresses
wstLINK and SDL are deployed on multiple chains. The table below lists all live deployments with their contract addresses. Ethereum mainnet is the primary chain where stLINK, wstLINK, stPOL, wstPOL, SDL, and reSDL all exist; the other chains have wstLINK and SDL only.
| Chain | wstLINK | SDL | Status |
|---|---|---|---|
| EthereumPrimary | 0x911D86C72155c33993d594B0Ec7E6206B4C803da | Native deployment | Live |
| Arbitrum | 0x3106E2e148525b3DB36795b04691D444c24972fB | 0xdFeA35757264F5b6C0ff21104151D9F991D0eEC0 | Live (Feb 2024) |
| Base | 0xF2f7901B7bbA5799493B617B06EAd1862F771297 | 0xe5B64a705db9d2395C471af1608972cCbacE26E6 | Live |
| Polygon | 0xc271A17DB5cE6F53745A3F466077Ec816bC20a9C | — | Live |
- Bridged: wstLINK, wstPOL — the non-rebasing wrapped forms.
- Not bridged: stLINK (wrap first via WrappedTokenBridge), reSDL (Ethereum only — governance and boost require mainnet).
Polygon additionally has a wstPOL deployment at 0x1d0347C535C88Cf6BB72df75AED34363edB4B2AE. This mirrors the wstLINK pattern for staked POL positions. All token deployments follow the same non-rebasing wrapper model — the bridged token holds stable balance while the exchange rate compounds with Ethereum-side rewards.
Step-by-Step Bridge Guide
Bridging wstLINK cross-chain is a single transaction from the user's side. The WrappedTokenBridge handles wrapping and CCIP dispatch internally. Here is the complete flow from LINK to wstLINK on Arbitrum.
Stake LINK on Ethereum
Go to stake.link and connect your wallet. Deposit LINK to receive stLINK. This step only applies if you do not already hold stLINK or wstLINK.
Navigate to the bridge section
In the stake.link UI, find the bridge or cross-chain section. Select your destination chain (Arbitrum, Base, or Polygon).
Enter amount and confirm
Input the amount of stLINK or wstLINK to bridge. The UI will display the estimated CCIP fee in LINK or native ETH. Confirm the transaction in your wallet.
Wait for CCIP confirmation
CCIP processes the message across chains. This typically takes 15–30 minutes depending on Ethereum finality and destination chain confirmation requirements.
wstLINK arrives on destination chain
Once CCIP confirms, wstLINK appears in your wallet on the destination chain at the address in the table above. It is immediately usable in DeFi protocols on that chain.
You do not need to manually wrap stLINK to wstLINK before bridging. The WrappedTokenBridge accepts stLINK directly and handles the wrap atomically in the same transaction. If you already hold wstLINK, you can bridge it directly without an extra wrapping step.
Why wstLINK, Not stLINK?
stLINK is a rebasing token — its balance increases automatically with every reward distribution, approximately every two days. This balance mutation causes fundamental accounting problems for bridges and DeFi protocols. When a bridge locks tokens on the source chain and mints a representation on the destination chain, it needs to track exactly how many tokens are held. A rebasing balance breaks that accounting because the locked amount changes without any action by the bridge contract.
wstLINK solves this cleanly. Instead of a growing balance, wstLINK uses a growing exchange rate. Your token count stays fixed; what changes is how many LINK each token represents. Bridges can track token counts precisely because they never change between lock and unlock. DeFi protocols can hold, lend, and price wstLINK without dealing with spontaneous balance changes.
The economic outcome is identical. Holding wstLINK on Arbitrum earns exactly the same return as holding stLINK on Ethereum — the rewards accrue in the exchange rate, not the balance. The only difference is in how that return is expressed. This design is borrowed directly from Lido's wstETH, which pioneered the non-rebasing wrapper pattern for liquid staking tokens.
The RebaseController contract on Ethereum triggers periodic cross-chain rebase updates via Chainlink Automation, ensuring the exchange rate on all destination chains stays synchronized with the actual staking yield accruing on Ethereum mainnet.
Arbitrum DeFi Ecosystem
Arbitrum was the first cross-chain deployment for stake.link (live February 2024) and has the most developed DeFi ecosystem for wstLINK. The primary venue is Camelot DEX, Arbitrum's native concentrated liquidity DEX, where a wstLINK/LINK pool offers additional yield via GRAIL incentives on top of the base Chainlink staking returns already embedded in wstLINK's exchange rate.
Arbitrum's gas fees are roughly 10–50x cheaper than Ethereum mainnet, which makes frequent DeFi interactions economically viable at smaller position sizes. DeFi strategies that would be gas-prohibitive on mainnet become practical on Arbitrum — frequent rebalancing, small compound cycles, or active position management all become feasible when transaction fees are measured in cents rather than dollars.
For users who want to earn Chainlink staking yield while also providing liquidity or using wstLINK in leveraged strategies, the Arbitrum deployment offers the best combination of low fees, active liquidity depth, and DeFi tooling. Base and Polygon provide additional cross-chain access but currently have less developed wstLINK DeFi ecosystems.
Bridge Fees and Timing
CCIP fees consist of two components: the gas cost of the source chain transaction, and the CCIP network fee paid to Chainlink oracle nodes for cross-chain message processing. Together these are typically modest relative to any meaningful bridge amount, though fee levels vary with network congestion.
Fee currency
LINK or native gas token
Set payInNative to choose
Slippage protection
maxLinkFee parameter
Transaction reverts if fee exceeds ceiling
Confirmation time
15–30 minutes
Depends on chain finality
The maxLinkFee parameter in transferTokens() functions as fee slippage protection. If the actual CCIP fee at execution time exceeds the caller-specified ceiling, the transaction reverts. This prevents bridging during unexpected fee spikes without user awareness. Setting it too low risks unnecessary reverts; setting it reasonably high (e.g. 110% of current fee) ensures the transaction goes through under normal conditions.
CCIP confirmation time is determined by the finality requirements of the source and destination chains. Ethereum finality takes approximately 12–15 minutes (two epochs), after which CCIP oracle nodes attest the message and the destination chain contract executes. Faster source chains like Base can initiate faster, but Ethereum mainnet transactions always require the full finality window before CCIP can safely confirm.
There are no protocol fees charged by stake.link on bridge operations beyond the CCIP network fee. The wrapping step (stLINK to wstLINK) is also fee-free — only gas is consumed. Users bridging wstLINK already on Ethereum skip the wrapping step entirely and pay only the CCIP fee.