bitcoin-heuristics 0.1.0

Pattern detection heuristics for Bitcoin on-chain analytics — consolidations, distributions, CoinJoin, fee spikes, dormant supply reactivation and more
Documentation
//! # bitcoin-heuristics
//!
//! Pattern detection heuristics for Bitcoin on-chain analytics.
//!
//! Detects consolidations, distributions, CoinJoin, fee spikes, dormant supply
//! reactivation and more from pre-extracted [`TxFeatures`].
//!
//! ## Quick Start
//!
//! ```rust
//! use bitcoin_heuristics::{HeuristicRegistry, TxFeatures};
//!
//! // Populate TxFeatures from your Bitcoin transaction parser
//! let features = TxFeatures {
//!     input_count: 15,
//!     output_count: 2,
//!     is_consolidation: true,
//!     total_input_value: 200_000_000, // 2 BTC
//!     is_input_script_homogeneous: true,
//!     output_value_max: 180_000_000,
//!     total_output_value: 199_995_000,
//!     block_price_usd: Some(60_000.0),
//!     ..TxFeatures::default()
//! };
//!
//! let registry = HeuristicRegistry::default_registry(0.7);
//! let matches = registry.evaluate_all(&features);
//!
//! for m in &matches {
//!     println!("[{}] {} — {}", m.event_type, m.pattern, m.summary);
//! }
//! ```

pub mod analyzers;
pub mod errors;
pub mod heuristics;
pub mod match_result;
pub mod models;

pub use errors::HeuristicError;
pub use heuristics::long_term_supply_activation::{
    BitcoinRpc, JsonRpcClient, LongTermSupplyActivationHeuristic, TxOutInfo,
};
pub use heuristics::{Heuristic, HeuristicRegistry, HeuristicStatus};
pub use match_result::HeuristicMatch;
pub use models::{
    encode_movement_range_log, AbsoluteFeeTier, AddressHotness, ChangeDetection, CoinJoinScore,
    EmbeddedProtocol, EntityCategory, EntityPresence, FeeEfficiencyRatio, FeePercentileTier,
    FeeRateTier, IoScaleTier, LightningIndicator, MultisigThreshold, ScriptType, StructuralPattern,
    TaprootSpendPath, TimelockFingerprint, TxFeatures, TxVersionTier, UtxoAgeVariance, VsizeTier,
};