Cardinal is a newly unveiled cross-chain protocol that enables Bitcoin UTXOs – including Ordinals – to seamlessly transfer between the Bitcoin network and Cardano. At the Bitcoin 2025 conference in Las Vegas, Input Output Global (IOG) demonstrated a trust-minimized cross-chain transfer: a Bitcoin Ordinal was “wrapped” onto Cardano’s native asset and swapped on Cardano. This article dives into the architecture of the Cardinal protocol, the technologies enabling it (like BitVMX and Mithril), and how Bitcoin and Cardano were bridged in the Las Vegas demo. The goal is to explain how Cardinal works from a developer’s perspective – blending Bitcoin’s robust security with Cardano’s smart contract capabilities – for readers familiar with blockchain concepts but new to Cardinal. Introducing the Cardinal Protocol Cardinal (a portmanteau of Cardano + Ordinals) is described as a “Bitcoin–Cardano UTXO wrapping protocol for Ordinals and beyond”. In simple terms, Cardinal provides a secure, trust-minimized mechanism to wrap Bitcoin UTXOs (including ordinary BTC and Ordinal-inscribed satoshis) into representative assets on Cardano, and later unwrap them back to Bitcoin. It is near production-ready and designed to support not just NFTs but any Bitcoin-native asset or even stablecoins moving across chains. According to Romain Pellerin (IOG’s CTO), “Cardinal defines a secure and trustless mechanism to allow Bitcoin holders to access DeFi, wrapping their UTXOs and unlocking new opportunities.” The ultimate vision is full integration between Bitcoin and Cardano, so that Bitcoin users can seamlessly leverage Cardano’s DeFi services (staking, lending, DEX trading, etc.) with their BTC. Traditional bridges often rely on a centralized custodian or federation holding BTC, which introduces counterparty risk. Cardinal instead leverages cryptographic protocols and multi-party validation to avoid any single point of trust. When a Bitcoin UTXO is “wrapped” to Cardano, it means the BTC is locked under conditions that only allow release when the Cardano side confirms the corresponding unwrapping (or via a timeout back to the owner). On Cardano, a proxy token or NFT representing the Bitcoin UTXO is minted to the user’s address. This proxy asset is fully backed by the locked BTC and can be used in Cardano’s ecosystem as if it were the original BTC/Ordinal. The cardinal’s job is to coordinate this lock-and-mint process across chains securely. It utilizes a validation system and a property transfer mechanism that assigns Bitcoin assets to legitimate owners on Cardano without centralized custody. In practice, a network of watchers or oracles (potentially Cardano stake pool operators or alliance participants) observes both blockchains and agrees on events (like “UTXO X locked on Bitcoin” or “token Y burned on Cardano”). No single party is trusted; rather, security comes from Bitcoin’s own scripts and the consensus of multiple validators. This design makes Cardinal a trust-minimized protocol: it does not eliminate trust entirely, but distributes it across a diverse operator set. The system is secure under the assumption that at least one honest operator correctly validates and reports events across chains. Cardinal is being developed by IOG in collaboration with partners like Fairgate (pioneers in Disputable Computing and privacy tech) under the “BitVMX Alliance” – a strategic alliance to push Bitcoin–Cardano interoperability. Notably, Cardinal’s design supports Bitcoin Ordinals natively. Ordinals are sats carrying extra data (e.g., an image or text inscribed) – effectively Bitcoin’s version of NFTs. Cardinal can wrap these unique sats to Cardano, allowing them to live as Cardano NFTs while retaining a link to the original Bitcoin identity. The Las Vegas demo proved this by transferring a Bitcoin Ordinal onto Cardano’s mainnet. Once on Cardano, an Ordinal can be traded or utilized with smart contracts like any Cardano NFT, then later sent back to Bitcoin with its inscription intact. BitVMX: Off-Chain Smart Contracts Enforcing Bitcoin Integrity Bridging Bitcoin requires overcoming Bitcoin Script’s limitations. BitVMX is the technological heartbeat of Cardinal’s cross-chain abilities. BitVMX is an “interoperability protocol built using the BitVM programming language” – essentially a framework for running complex logic off-chain while using Bitcoin’s blockchain as the final arbiter of truth. It builds on the concept of BitVM (“Bitcoin Virtual Machine”) originally proposed by Robin Linus, which introduced disputable computation on Bitcoin. In BitVM’s optimistic model, two parties execute a computation off-chain and only resort to the Bitcoin chain if there’s a dispute about the result. BitVMX extends this idea into a multi-party setting with general smart contract support, using a real-world CPU architecture (RISC-V) as the language for contract logic. In the BitVMX architecture, a smart contract (written in common languages like C, Rust, or even Cardano’s Aiken) is compiled to a RISC-V binary. Participants then execute this binary in an off-chain virtual machine, optimistically assuming everyone follows the rules. Bitcoin’s role is to act as the court if someone cheats. Each step of the off-chain execution is committed to cryptographically, and the final outcome is asserted on Bitcoin by a prover transaction containing a hash of the execution state. A verifier (or multiple verifiers) also runs the computation off-chain and will challenge the result if they detect any discrepancy. In case of a dispute, a verification game plays out through a series of Bitcoin transactions: the dishonest step in the computation trace is pinpointed via binary search, and a fraud proof is posted on-chain to invalidate the prover’s result. Bitcoin’s Script enforces this by checking hashes and signatures in those disputed transactions, ensuring that an incorrect result cannot be finalized. Importantly, BitVMX introduced one-time signatures and state linking across transactions, meaning a contract’s state can carry over multiple Bitcoin transactions. This allows stateful smart contracts on Bitcoin without any new opcodes – a sequence of pre-signed transactions with hashed state commitments ensures that each state transition can be verified or challenged. Essentially, BitVMX turned Bitcoin into a tamper-evident state machine without altering consensus rules. For Cardinal, BitVMX is the engine that makes the Bitcoin side of the bridge trust-minimized. When a user locks a BTC UTXO to initiate a transfer, a BitVMX program governs that lock. This program might encode rules like: “if a valid proof of burn on Cardano is provided within X days, then release BTC to a specified address (for returning BTC); otherwise, allow the original owner to reclaim it after timeout.” The correctness of such rules and any proofs is enforced via the BitVMX dispute mechanism on Bitcoin, ensuring no locked BTC can be stolen or released without the matching Cardano action. In short, Bitcoin enforces that every “wrapped” UTXO follows the Cardinal protocol’s rules, using BitVMX to handle the heavy logic off-chain. This removes the need for a centralized custodian: the security comes from Bitcoin’s own consensus (backed by proof-of-work) and the incentive for participants to watch and challenge if something is amiss. In the figure, you can see the components of the Cardinal protocol. Even IOHK described the Vegas Ordinals transfer as an on-chain Bitcoin–Cardano transaction facilitated by BitVMX, underscoring that it was achieved “without centralized intermediaries”. The implication of BitVMX is huge: it suggests Bitcoin can gain Ethereum-like smart contract flexibility without any forks or opcode changes. Cardano’s team has taken advantage of this by reusing Cardano’s smart contract code (UTXO-based logic well-suited to Bitcoin’s model) and running it via BitVMX on Bitcoin. Mithril and Cross-Chain Validation Bridging two independent blockchains also requires a way for each side to validate the state of the other in a secure, efficient manner. This is where supporting technologies like Mithril come into play. Mithril is a stake-based multi-signature protocol from Cardano that produces certified snapshots of the blockchain state. In other words, Mithril allows a quorum of Cardano’s stake pool nodes to sign off on a checkpoint of Cardano (for example, a particular epoch or block hash) such that this certificate is compact and verifiable by anyone. Initially, Mithril was designed to help light wallets and sidechains trust the Cardano state without running a full node (e.g., fast bootstrapping of a node with checkpoint certificates). In the context of Cardinal, Mithril (or similar threshold cryptography) can be used for cross-chain proofs: for instance, to prove to the Bitcoin side that “Cardano token X was burned” or to prove to Cardano that “BTC transaction Y is confirmed” – without trusting a single oracle. Imagine when a user wants to unlock BTC back on Bitcoin after using it on Cardano. The Cardinal protocol likely requires proof that the user has burned or locked the corresponding wrapped token on Cardano (so it can’t be double-spent). Instead of a single custodian attesting this, Cardinal could use a Mithril certificate: a sufficient number of Cardano stake pools (representing a large portion of ADA stake) sign a statement that “Token X representing UTXO Y was burned in Cardano block Z.” This signed snapshot is compact enough to be included or referenced in a Bitcoin transaction input. A BitVMX contract on Bitcoin can then verify this multi-signature (since verifying a threshold signature can be done by checking a single aggregated public key and signature) and be convinced that the burn occurred on Cardano with Cardano’s full security behind it. Thus, Cardano’s consensus security is exported to Bitcoin in a lightweight way. The reverse direction can be handled by Bitcoin SPV proofs or even more advanced techniques (e.g., Zero-Knowledge proofs of Bitcoin transactions), but a simpler approach is to have alliance participants or Cardano nodes observe Bitcoin and sign a statement that “UTXO Y is locked in Bitcoin block N”, which a Cardano smart contract can verify. Cardano’s extended UTXO smart contracts could be designed (in Plutus) to accept a valid multi-signature certificate from such watchers as a condition to mint or burn the wrapped asset. While the exact implementation details of Cardinal’s verification mechanisms are not yet public, IOG has hinted at using “secure cross-chain messaging or proofs” and mentioned potential integrations of protocols like Babylon (which leverages Bitcoin for checkpointing other chains) or Mithril to solidify cross-chain security. The overarching aim is a fully decentralized validation of cross-chain actions: either via direct cryptographic proofs (like SNARKs) or via signed attestations by a diverse, incentive-aligned set of actors. In any case, Cardinal avoids a classic weak point of bridges by not depending on any single oracle or federated multisig of a few parties – instead, it leans on the strong security assumptions of the two blockchains themselves (Bitcoin’s hashpower and Cardano’s stake) to mutually verify cross-chain events. Inside the Vegas Demo: Cross-Chain Swap in Action The live demo at Bitcoin 2025 Las Vegas showcased Cardinal’s capabilities in a user-friendly way. Using IOG’s Lace wallet (which now supports both Cardano and Bitcoin), the team demonstrated a seamless swap: a user traded native BTC for a token on Cardano’s DEX (Minswap) within one interface. This was remarkable because it happened without the user leaving their Bitcoin wallet or manually using a bridge. Here’s what the demo entailed, and the components involved: Lace Wallet Integration Lace is a Cardano light wallet that recently added multi-chain support. In the demo, Lace acted as a one-stop interface where the user had a Bitcoin account and a Cardano account linked. The user initiated a swap of BTC → pBTC → Cardano Token (where pBTC might represent the proxy Bitcoin on Cardano used for the swap). The Lace DApp browser loaded Minswap (a Cardano DEX), and the user could authorize a swap of BTC for, say, some ADA or an LP token, directly. Cross-Chain Swap Mechanism Under the hood, this likely worked by first wrapping the user’s BTC via Cardinal, then performing a normal Cardano DEX swap, and possibly unwrapping any residual change. The demo description indicates the user “completed a BTC-to-Minswap token swap with a few clicks”. This means the flow was automated: the user approves a transaction that simultaneously triggers a Bitcoin lock and a Cardano transaction. One way to achieve this is via an atomic swap-like construction or a coordinated two-step process: Lock BTC & Mint pBTC: The user’s BTC is sent to a special Taproot address on Bitcoin (likely via a BitVMX script). Once confirmed, the protocol (via the Monitor & Dispatcher component) mints an equivalent amount of pBTC (proxy BTC token) on Cardano to the user’s Cardano address. Swap pBTC for Token: The user’s Cardano address then executes a swap on Minswap, trading the pBTC for the desired Cardano token (e.g., a stablecoin or ADA). Minswap treats pBTC like any other Cardano-native asset in its liquidity pools. The swap executes via Cardano’s smart contracts, and the user ends up with the new token, while the pBTC goes to the liquidity provider. Fee Handling: Notably, transaction fees were paid in Bitcoin during this process via a Babel fee mechanism managed by Fluid Tokens. Babel fees on Cardano allow fees to be paid in an asset other than ADA by having a party cover the ADA cost in exchange for that asset. In this demo, the user didn’t need to hold ADA; their Bitcoin itself (or pBTC) effectively covered the fees through an arrangement with Fluid Tokens. This clever setup abstracts away the need for the user to juggle two native coins – they could initiate and complete the swap using only BTC, making the experience truly seamless. Unwrapping (if needed): If the user wanted to convert any unused pBTC back to BTC, they could invoke Cardinal to burn the pBTC and release BTC from the lock script. In the swap demo, the user converted all their BTC to a Cardano token, so no immediate unwrap was shown, but the capability is inherent. No Custodial Middleman Throughout the swap, the BTC was never held by a centralized exchange or a trusted bridge operator. It was controlled by Bitcoin scripts and Cardano smart contracts. The demo was one of the earliest practical examples of direct Bitcoin–Cardano DeFi interaction within a single wallet, proving that a trust-minimized cross-chain DEX trade is possible. Ordinal Transfer In addition to the swap, IOHK also showcased an Ordinal transfer. They took a satoshi inscribed with an Ordinal on Bitcoin, locked it, and minted a corresponding NFT on Cardano representing that Ordinal. This was done live, demonstrating the “wrapping” of a non-fungible UTXO. The Ordinal on Cardano could be viewed or traded, then (in principle) sent back to Bitcoin by burning the Cardano NFT and unlocking the original satoshi. This part of the demo highlighted Cardinal’s ability to handle non-fungible data and not just fungible BTC. It opens the door for Bitcoin NFT collectors to leverage Cardano’s NFT marketplaces and smart contracts for their Ordinals. To appreciate Cardinal’s engineering, let’s outline a step-by-step flow for moving a BTC UTXO to Cardano and back. This will illustrate how the components cooperate: Locking Bitcoin UTXO on Bitcoin: The user initiates a transfer by sending their BTC (or Ordinal UTXO) to a special Taproot lock script on Bitcoin. This script is likely a BitVMX-powered contract that involves the user’s public key, a time-lock, and a hash of an expected Cardano proof. The BTC is now locked on Bitcoin; it cannot be spent except by the Cardinal protocol’s rules. The Bitcoin transaction ID and UTXO details are recorded as part of the event. This transaction may also include a tiny output with some metadata (or utilize OP_RETURN) to signal the intent (e.g., an identifier of the target Cardano address or a session ID for the bridge transfer). Notifying Cardano & Verification: Cardano-side watchers (which could be alliance nodes or even an automated smart contract oracle) detect the Bitcoin lock on the Bitcoin network. They wait for sufficient confirmations. Once confident, these watchers produce a certificate or proof of the Bitcoin lock. The proof/attestation is then submitted to Cardano’s network. This might be done by calling a Cardinal Plutus script on Cardano. The script requires a valid attestation of a Bitcoin lock to mint the token. Minting on Cardano: Given the valid proof from step 2, the Cardano side mints a wrapped token (let’s call it cBTC) representing the exact Bitcoin UTXO locked. This token is locked in the script before the release to the user's Cardano address that was tied to the operation (possibly the user provided a Cardano address when initiating the lock). The minting script policy ensures that one token can only be minted per valid Bitcoin UTXO lock proof. The 1:1 peg is maintained by only minting when BTC is locked and later requiring burning to unlock. Releasing the wrapped token to the user Cardano address correlates with finishing the UTXO lock on the Bitcoin side. At this point, the user effectively owns cBTC on Cardano, which is a native asset on Cardano. The Bitcoin is safely locked by Bitcoin’s rules, and the user holds the equivalent on Cardano. Using on Cardano: Now the user can freely use the cBTC just like any Cardano asset. They can trade it on a DEX (as in the demo), lend it in a money market, combine it with other protocols, or even utilize it in Cardano’s smart contracts (e.g., as collateral). Cardano’s eUTXO model means that contracts deal with tokens via outputs, which fits the nature of cBTC as a token. No modifications to Cardano were needed; from Cardano’s perspective, cBTC is just another fungible token or NFT. The important aspect is maintaining the peg: Cardano’s logic must ensure that the total supply of cBTC corresponds to actual BTC locked on Bitcoin. This is enforced by the mint/burn policy tied into Cardinal’s protocol. Let's look at the opposite process, i.e., burning a wrapped token on the Cardano network and unlocking a UTXO on the Bitcoin network. Burning on Cardano (to Unlock BTC): When the user (or anyone who later holds that cBTC) wants to retrieve real BTC back, they initiate a burn on Cardano. This involves sending the cBTC to a Cardinal burn address or calling a burn function in the smart contract, which destroys the token. The burn transaction would include details of the original Bitcoin UTXO or a reference needed to unlock it. The operator sends to the user a one-time private key associated with the Taproot address with the locked Bitcoin. This key will later allow the user to claim UTXO on the Bitcoin network. Token Burning: Cardano watchers will validate that the token was indeed burned (finalized on-chain). They then prepare a proof/attestation asserting “Token Y burned on Cardano”. It is called a receipt lock (that contains proof of burn). Confirmation Transaction: A Cardano confirmation transaction is submitted. It includes a unique identifier, often referred to as the Group ID. This ID links the Cardano-side burn (destruction) of the wrapped token to the corresponding Bitcoin UTXO that was originally locked. By recording the burn of the wrapped token on Cardano, this transaction serves as a verifiable proof that the token representing the Bitcoin asset has been destroyed, signaling that the original BTC can now be unlocked. Challenge Window: After the confirmation transaction is submitted, there's a predefined period during which it can be challenged. This mechanism ensures that if any discrepancies or fraudulent activities are detected, they can be addressed before the BTC is released. Unlocking BTC: If the confirmation transaction remains unchallenged during the specified window, it is accepted as valid. Consequently, the conditions set in the original Bitcoin locking script are met, allowing the BTC to be unlocked and returned to the rightful owner. Releasing on Bitcoin: The proof of burn is delivered to the Bitcoin-side BitVMX contract that controls the locked BTC. Because the Bitcoin script was set up with an expected hash or key corresponding to a valid Cardano burn proof, the proof can be verified. If Mithril-style, the Bitcoin script might contain a verifying key for the aggregated multi-signature; if SPV-style, the BitVMX off-chain logic will verify the proof and then co-sign a transaction. Once verified, the BitVMX contract allows the BTC to be released, typically to the Bitcoin address originally designated by the user. A Bitcoin transaction is executed that spends the locked UTXO and sends BTC back to the user’s wallet. If there were an Ordinal, the exact satoshi with that inscription would be directed to the correct output, preserving the NFT on return. All of this happens without any third-party custodian: the Bitcoin network itself enforces that BTC only moves after the Cardano burn, thanks to the script logic and the validity of the cross-chain proof. In case something goes wrong (e.g., the user locks BTC but the proof never arrives on Cardano, or vice versa), Cardinal implements safety mechanisms. The Bitcoin lock script could have a time-lock that says: if, after N blocks, no valid unlock proof is given, then allow the original owner to reclaim their BTC. Similarly, on Cardano, if a minting attempt fails (because proof is invalid or times out), no token is minted, and the process aborts. These ensure users don’t lose funds even if cross-chain communication fails or is attacked (at worst, they retrieve their original asset after a delay). This cross-chain dance shows Cardinal functioning as a bidirectional bridge: it’s essentially a set of on-chain scripts and off-chain protocols that maintain a peg between BTC and its Cardano representation. The use of BitVMX means the Bitcoin side can handle the verification logic in a trust-minimized way, and Mithril or multi-signature proofs mean the Cardano side can trust events from Bitcoin without a centralized oracle. Both chains remain sovereign yet interconnected through Cardinal. Impact and Future Developments Cardinal’s successful demo is more than a one-off novelty – it represents a new paradigm in blockchain interoperability. By wrapping Bitcoin’s UTXOs into Cardano’s multi-asset ledger in a trustless way, it effectively turns Bitcoin into a partner chain of Cardano rather than a silo. This has several major implications. Bitcoin users could access yield opportunities and financial services without having to leave the Bitcoin ecosystem or trust centralized platforms. For example, a BTC holder might soon provide liquidity on a Cardano DEX by pairing cBTC with ADA, earning fees and farming rewards – all while a protocol like Cardinal guarantees they can retrieve their original BTC. For Cardano, Cardinal solidifies its position as a hub chain. Cardano can act as a feature-rich layer for Bitcoin, complementing it. The crypto industry has long sought ways to connect Bitcoin with smart contract chains; solutions like Stack’s sBTC or Ethereum’s wBTC rely on federations or custodians. Cardinal suggests a more decentralized route, leveraging smart contracts and math instead of trust. If successful, Cardano could attract liquidity from Bitcoin and potentially other chains, becoming a liquidity routing network in a Web3 ecosystem. Cardinal’s design leaves little surface for custodial risk, but like any complex protocol, it must be scrutinized. The use of new tech like BitVMX means a lot of off-chain code and on-chain game scripts to audit. However, the advantage is that Bitcoin’s base layer remains the settlement layer – if anything goes wrong off-chain, participants can always fall back to Bitcoin’s dispute resolution. Similarly, on Cardano, the logic is on-chain and transparent. The decentralized validation (Mithril signatures, etc.) needs a robust set of participants to prevent collusion. Over time, one could imagine this process being even more trustless using zero-knowledge proofs (e.g., a ZK proof of a Cardano state or a Bitcoin state) to eliminate reliance on any participants at all. In fact, the BitcoinOS project showed a variant using ZK proofs for bridging – future iterations of Cardinal might incorporate ZK-SNARKs to prove cross-chain burns or locks succinctly. For now, the alliance approach and multi-sig certificates are a pragmatic step.