
CCIP is Chainlink's cross-chain messaging and token transfer protocol: a router on every chain it serves, a token pool for every token it carries, and Chainlink's own oracle networks committing each message and a separate risk network checking it before anything is released on the other side. A transfer locks or burns the token in its pool on the way out and releases or mints it from the pool on the way in, so what arrives is the token itself, not a wrapped claim on it.
Tokens join CCIP through their own issuers. A token's administrator registers a pool, chooses which chains it reaches and how much may cross per period, and the router carries any message the pool accepts. On Base that is how VIRTUAL, cbBTC, WETH, LINK and well over a hundred more move between chains, each on the lanes its pool supports, at a fee the router quotes per message in the chain's native currency.
The friction is in the timing, not the mechanics. The fee moves with gas on both ends, a lane's rate limit can be spent for the period, and the moment a balance is needed on another chain rarely lines up with the moment someone is watching. Doing it by hand means quoting, padding the fee, and signing whenever a person happens to be looking.
In a plug the router quotes the exact message the send encodes, in the same transaction, and the send pays exactly that. The fee is a read like any other: a transfer can wait until it falls under a share of the amount moved, fire when a balance lands, or sweep proceeds to the chain where they are spent.
Treasuries rebalanced across chains on a schedule. Proceeds bridged the block they settle. Cross-chain transfers that never overpay a padded fee and never wait on a person to press send.

