quoteFee(0,address(0)) returns a numeric messaging quote in the retained eth_call. The corresponding zero-amount bridge call reverts ZeroAmount; a positive amount with a zero recipient reverts ZeroAddress. allowed(account) only checks its remaining allowance. After ccipSend the origin returns excess ETH to msg.sender. If a contract caller rejects that refund, RefundFailed reverts the transaction. The amount consumption, nonce usage, token transfer, burn and message send all belong to the same local transaction. The migration function measures the balance increase during its own safeTransferFrom and burns only that increment. A plain ERC20 transfer has no recipient callback, bridge message or BridgeInitiated event. Prior deposits are excluded by balanceBefore. claimFor(recipient) is permissionless and always pays the recorded recipient. It clears that recipient’s whole accumulated balance, reduces totalClaimable and increases totalDistributed. There is no individual-message argument or alternate payee.The probe used a synthetic caller and did not connect a wallet. Routing, sanctions, closure, balances, approval, signature and gas remain separate conditions. This is source/EVM transaction behavior, not a tested refund-failure inTIBBIR UNIVERSE THIS IS TIBBIR How to get TIBBIR Ribbit in numbers Connected clues Account archive Bridge & contracts On-chain research Connections Community The story Reading room Network map Timeline Findings Source library Conversations People & companies Open questions Export & reuse