The DLCP Oracle · from Cadena Bitcoin

One price. Signed in public.
Committed in advance.

Cadena loans are Discreet Log Contracts. Your bitcoin stays in a contract you co-sign, and the only outside input is a BTC/USD price signed by this oracle at maturity. People ask us: can I trust that price, and can it be manipulated? Fair question. Here is the full answer: how the price is made, who runs it, the math on attacking it, and how to check every signature yourself.

BTC/USD now
—
median of exchange feeds
Fresh sources
—
updated within 2 min
Next attestation
Last attested
—
The short answer

Can I trust the oracle? Can it be manipulated?

The oracle is independent not because of who owns it, but because of what anyone can see: every source, every signature, every rule, in public.

What an oracle is in a DLC

A Discreet Log Contract locks bitcoin in a 2-party contract. The only outside fact it needs is the BTC/USD price at maturity. The oracle publishes a signature on that price. It never holds funds, never sees your loan, and signs the same number for everyone.

Who runs it

The DLCP Oracle is run by Cadena's own team (Opt out and Sz). It isn't a separate company today. It may become one someday for legal reasons, but either way we intend to keep a voice in this important technology. What makes it independent is that it is transparent, multi-sourced and open source: public exchange prices, a fixed published method, open code, and signatures anyone can verify.

No held signatures

Borrower and lender pre-sign every possible payout when the loan opens. Those transactions just wait for the price. At maturity the oracle's signature unlocks exactly one. Nobody, including Cadena, holds a signature back or decides later.

No margin calls. One price, once.

Cadena loans are attested once, at maturity. There are no liquidations along the way, so a brief price spike or wick can't trigger anything. An attacker gets one shot, at one pre-announced 10-minute moment.

The math on a $1M contract (our maximum)

ItemEstimate
Payout shifted per 1% price error≈ $11.1k
Feeds to move to shift the median6 of 11 exchanges, at the same instant
BTC order-book depth within 1% (Kaiko)≈ $500M
Est. slippage cost to move 6 of 11 feeds by 1%≈ $30k–$300k

Rule of thumb: keep any contract well below the cost of manipulating its price. It's a losing trade, and the planned time-windowed median makes it costlier still. These are estimates, not guarantees.

Median of 11 exchanges LIVE

One bad or stale feed can't move the median.

Cross-checked IN TESTING

Compared against a Kormir test oracle and Delphi, an on-chain price that uses no exchanges at all.

Alerts on gaps IN TESTING

Stale feeds and gaps between sources or reference oracles raise an alert for a person to investigate.

48-hour refund fallback PER WHITE PAPER

If no attestation ever arrives, a timelocked refund returns funds after 48 hours. No custodian needed.

Open source PLANNED

We intend to publish the oracle code so anyone can run and audit the same method.

Honest labels

Green means live today. Yellow means planned or in testing. We'd rather show the roadmap than oversell it.

What the oracle does

It signs a number. Contracts do the rest.

Every 10 minutes the oracle has a pre-announced event. When that moment arrives it signs the BTC/USD price. A loan settles on the event at its maturity date. The settlement transactions are already signed by borrower and lender and just wait for that price.

Announce

Events like btcusd1793666400 are published up to ~396 days ahead, each with its own one-time nonces and the oracle's public key.

Lock in

Borrower and lender build the contract around that announcement and sign every possible payout ahead of time. Nobody holds a signature back.

Attest

At the event time the oracle signs the price, digit by digit (7 decimal digits, whole dollars).

Settle

The signature unlocks exactly one of the pre-signed payouts. The oracle never touches funds.

Independence

Independent because it's transparent, multi-sourced and open source.

Same DLCP Oracle, run by Cadena's team. The independence comes from public inputs, fixed rules, open-source code anyone can read and run, and verifiable signatures, not from a separate owner.

Its own public endpoint LIVE

The oracle publishes at oracle.purabitcoin.com with an open API, separate from the lending app's interface. Anyone can query it without an account.

Blind to contracts LIVE

DLCs never tell the oracle who's borrowing, how much, or at what price. It publishes the same signature for everyone and has no way to target one loan.

Committed in advance LIVE

The nonces in each announcement commit the oracle to a single signature per event. Signing two different prices would expose its private key, so equivocating is publicly provable.

Committed rules LIVE

The nonces are fixed in the announcement, so once an event is announced there is only one valid signature per price. A contract settles on whatever the oracle signed for that event, and that signature is public.

Public, free price sources LIVE

Every input is a public exchange price that anyone can check against the per-source data shown below.

Open-source code PLANNED

We're preparing to publish the oracle's source code. Repository link coming soon.

Methodology

How the price is computed

A loan's outcome comes down to one number, so the method is deliberately simple and checkable.

Today LIVE

The median spot price across 11 exchange feeds (BinanceUS, Bitfinex, Bitpanda, Bitstamp, Coinbase, Crypto.com, Gemini, HTX, Kraken, KuCoin USDT, KuCoin USDC), taken at the event time. A median means one bad or manipulated feed can't move the result.

Hardening PLANNED

Drop stale feeds: exclude any source that hasn't updated in ~60–120 s, and require a minimum number of fresh sources.
Window, not a tick: attest the median of short averages around the event instead of one instant.
One vote per venue: count each exchange once.
Alert on gaps: page an operator when sources or reference oracles diverge.

Why manipulation doesn't pay

Loans are attested once, at maturity, with no margin calls, so a bad price can't trigger a liquidation. On a $1M loan, each 1% of price error shifts about $11.1k. To get that, an attacker would have to move 6 of 11 venues at the same instant, where roughly $500M of bitcoin orders sit within 1% of the price (Kaiko), an estimated $30k–$300k in slippage. Windowing makes that much more expensive again.

Transparency

Every source, live

Straight from the oracle's public API, refreshed every 15 seconds in your browser.

Loading…
Red rows haven't updated in over 2 minutes. Under the planned hardening they'd be dropped automatically. Today the median absorbs them.

Oracle public keys

Main signing key:

—

All published keys:

—

Open API

Anyone can query events, announcements and attestations. No account needed.

GET https://oracle.purabitcoin.com/api/v0/oracle/oracle_info
GET …/price_info/current/BTCUSD
GET …/event/next_event?definition=BTCUSD
GET …/event/event/btcusd{unix_time}
Cross-checks

An independent second opinion from the blockchain itself

Exchange prices are checked against a source that uses no exchanges at all.

On-chain reference MONITORING

Delphi, built by Illuminodes in San Salvador, estimates BTC/USD from round-dollar payments in Bitcoin transactions (UTXOracle-style) and publishes signed prices over Nostr. We compare it with the oracle around the clock.

Alerts, not vetoes

Large gaps raise an alert for a person to investigate. A reference source can't block or change an attestation, so contracts always settle on schedule.

Why both

Exchange feeds can go stale or drift. On-chain data is thin and slower. Each covers the other's blind spots.

Reliability

A contract has to settle even on the worst day.

Backup oracles PLANNED

Contracts can name additional independent oracles, such as a Kormir-based oracle run on separate infrastructure, so that either can settle if one goes down. We're testing this alongside the live oracle now.

Monitoring & alerts IN TESTING

Feed staleness, source gaps and reference-oracle divergence are tracked continuously. The plan adds pre-maturity checks and pages if an attestation is late.

Refund fallback PER WHITE PAPER

If no oracle ever attests, a timelocked refund returns funds to their owners after 48 hours. No custodian is needed.

Many relays PLANNED

Announcements and attestations mirrored over Nostr relays (NIP-88), so a website outage can't hide a signature.

Long horizon LIVE

— future events are already announced, covering more than a year ahead.

Status LIVE

Checking…

Verify it yourself

Look up any announcement or attestation

Enter an event ID, or a date and time (rounded down to the nearest 10 minutes).