# Bitcoin Libraries Rust Dlc

> rust-dlc: Rust DLC implementation.

rust-dlc: Rust DLC implementation. Funding, CET construction, oracle
attestation handling, refund logic.
USE WHEN: building DLC apps in Rust, integrating oracle-driven
Bitcoin contracts.

- Page: https://ss33.ai/skills/claude-dev-suite/bitcoin-libraries-rust-dlc-70857816473
- Publisher: claude-dev-suite
- Category: [Finance & Markets](https://ss33.ai/skills/category/finance-and-markets-gri5ar) › [Payments & crypto](https://ss33.ai/skills/category/finance-and-markets-gri5ar/payments-and-crypto-jvjetm)
- License: MIT
- Source: https://github.com/claude-dev-suite/claude-dev-suite/blob/c32d3d81271b306861865a2397d594087cf0438b/skills/bitcoin/libraries/rust-dlc/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/claude-dev-suite/bitcoin-libraries-rust-dlc-70857816473

# rust-dlc

Rust implementation of Discreet Log Contracts. Maintained by Crypto
Garage et al.

Repo: `github.com/p2pderivatives/rust-dlc`.

## Install

```toml
[dependencies]
dlc = "0.8"
dlc-manager = "0.8"
dlc-messages = "0.8"
```

0.8.0 (crates.io, 13 December 2025) is the latest release as of
September 2026; it succeeded 0.7.1 (12 December 2024). The whole
workspace — `dlc`, `dlc-manager`, `dlc-messages`, `dlc-trie` — is
versioned in lockstep, so bump all of them together. 0.8.0 builds
against `rust-bitcoin` 0.32.x and `lightning` 0.0.125.

## Components

- `dlc` — primitives (CETs, oracle messages, contract types).
- `dlc-manager` — orchestrates the full lifecycle.
- `dlc-messages` — wire-format messages.
- `dlc-trie` — efficient CET tree for numerical outcomes.

## High-level flow

```rust
use dlc_manager::Manager;
use dlc_manager::contract::offered_contract::OfferedContract;

let manager = Manager::new(blockchain, wallet, ...);

// Offer side
let offer = manager.send_offer(&counter_party_pubkey, &contract_input)?;

// Accept side (counterparty)
let accept = manager.accept_contract(offer)?;

// Sign side (offerer)
let sign = manager.process_accept(accept)?;

// Confirm
manager.process_sign(sign)?;
manager.broadcast_funding()?;

// At settlement, oracle publishes attestation, manager picks CET
manager.close_contract(...)?;
```

## Oracle integration

Oracles publish nonces upfront, attestations at settlement. rust-dlc
handles:
- Nonce verification.
- Attestation-to-CET mapping.
- Adapter signature application.

## Use cases

- **Sports betting** apps.
- **BTC/USD hedging** derivatives.
- **Parametric insurance**.
- **Lava, Atomic Finance**, other DLC products use rust-dlc.

## Common pitfalls

- Oracle availability: contract is locked until oracle attests
  (or refund timeout).
- CET storage: numerical contracts can have thousands of pre-signed
  CETs; persist properly.
- Fee management: pre-signed CETs have fixed fees; mempool may
  reject if fee rates spike.

## See also

- [rust-bitcoin/SKILL.md](../rust-bitcoin/SKILL.md)
- [../../cryptography/dlcs/SKILL.md](../../cryptography/dlcs/SKILL.md)
- [../../cryptography/adaptor-sigs/SKILL.md](../../cryptography/adaptor-sigs/SKILL.md)
