Real Bitcoin. Not a receipt for one.

A token that stands in for Bitcoin is not Bitcoin. This moves the actual asset, in and out, on the real chain.

17Chains15 EVM + BTC + SOL17Routing venuesRaced in parallel16/17Healthy nowDegraded venue0Fees for usersPermanently

Give them the real thing

Bitcoin is the asset people most want to move and the one most products quietly refuse to. The usual substitute is a wrapper minted against someone's reserves. Users have worked that out. RAVN routes native BTC both ways and settles the canonical asset.

PSBTyou sign · you broadcastblocks confirmBTCyour walletdeposit addresswhichever venue wonETHEthereum · nativeravn never sees a key

Bitcoin is not another EVM chain

UTXOs

Bitcoin has no balance and no contract to call. Spending means picking unspent outputs and signing each one.

No contracts

You cannot deploy a router on Bitcoin. Venues move it with time-locked contracts (HTLCs), shared-key vaults, or solvers who front the other side.

Wrapping swaps the risk

A lock-and-mint bridge does not move Bitcoin. It parks it and issues a claim, and the claim is only as good as the custodian.

Minutes, not seconds

Bitcoin confirmations take minutes. Anything promising otherwise is not quoting Bitcoin.

Two extra fields, that is all

Bitcoin is chain -1 and its token address is the literal string native. Everything else is the same three calls as any other route.

btc-quote.tsno key
const quote = await ravn.quote({
  inputChainId: 1,                 // Ethereum
  outputChainId: -1,               // Bitcoin
  inputToken:  NATIVE_EVM,
  outputToken: 'native',           // real BTC
  inputAmount: '1000000000000000000',
  userAddress,
  destinationAddress: btcAddress,  // required at quote time for BTC routes
  refundAddress:      btcAddress,  // where the input returns if it fails
});

quote.venue.name;           // Chainflip | THORChain | Relay | NEAR Intents
quote.output.amount;        // in satoshis
quote.alternatives;         // the BTC routes that lost, and by how much

Send destinationAddress and refundAddress at quote time. Leave them out and Relay and THORChain hand back a priced preview you cannot execute, not an error. Check quote.executable.

What you get

Four BTC venues

Relay, NEAR Intents, THORChain and Chainflip race every Bitcoin route. Whoever delivers the most wins it.

Both directions

Bitcoin in, Bitcoin out. The real asset either way.

Signable transactions

Wallets built for Ethereum or Solana keep one key and one balance. Bitcoin does not work that way. ravn_btc_prepare_send builds the Bitcoin payment so they only have to sign.

Coverage lookup

GET /tokens/btc-coverage says which tokens on a chain really route from native BTC. Gate your UI on that instead of guessing.

Honest timings

Every quote carries estimatedTimeSeconds and says when it is an estimate. Bitcoin routes report minutes.

Firm floors

Some BTC routes are firm. guaranteedMin is what lands, or the swap does not settle at all.

And back out again

Selling into Bitcoin is one send from your own wallet. The venue pays real BTC to your address.

ONE SENDyou sign · you sendbitcoin confirmsETHyour walletdeposit addresswhichever venue wonBTCyour address · nativeravn never sees a key

Price a Bitcoin route

No key, no account. Ask the quote endpoint for BTC and see which of the four wins right now.