🚀 Bitcoin Crawler beta is here! 🚀

Real-Time & Historical Blockchain Data with Custom State Modeling

Run EasyLayer self-hosted apps, build custom state models, and stream both historical and real-time blockchain events into your own systems

Works on
nodejs-logo-svgbitcoin-logo-svgethereum-logo-svg
import { bootstrap } from '@easylayer/bitcoin-crawler';
import Model from './model.ts';
bootstrap({
Models: [Model],
rpc: true,
ws: true
}).catch(error => console.error(error));
import { BasicEvent, EventBasePayload, Model, Block } from '@easylayer/bitcoin-crawler';
export class CustomEvent<T extends EventBasePayload> extends BasicEvent<T> {}; // Define your custom event
export default class CustomModel extends Model { // Create your model
constructor() {
super('uniq-model-id'); // This ID will be used to fetch events and state
}
public async parseBlock({ block }: { block: Block }) {} // Maps custom events from block - user defines which data they need
private onCustomEvent({ payload }: CustomEvent) {} // Updates model state when custom event occurs
}
Self-Hosted Infrastructure

Take full control of your infrastructure with our self-hosted solution. Deploy and manage your nodes with complete autonomy.

Learn more
Custom State Modelling

Define precise state models for specific addresses or smart contracts, eliminating the need to store the entire blockchain state.

Learn more
Real-Time & Historical Data

Access both real-time blockchain events through subscriptions and historical data with our comprehensive data access layer.

Learn more
Flexible Transport Layer

Choose from multiple transport protocols including RPC, WebSocket, IPC, and TCP to match your specific integration needs.

Learn more
Automatic Reorganization

Built-in handling of blockchain reorganizations ensures data consistency and reliability across all supported networks.

Learn more
Multi-Chain Support

Comprehensive support for Bitcoin, its forks, and all EVM-compatible networks including Ethereum and its derivatives.

Learn more

How does it work? 🧐

Define your state Model to transform on‑chain data into domain events, configure your Event Store (PostgreSQL or SQLite) and blockchain self Node or provider. EasyLayer will handle everything else automatically.

Use Transport to get your domain state object at any block height or subscribe to real-time events with guaranteed at‑least‑once delivery, and replay historical events from any blockchain height for recovery, auditing and full transparency.

React

Not sure where to begin?

Browse our examples to see EasyLayer in action and gather ideas for your next project.

Bitcoin One Address Balance ✅

A simple example of how to monitor a bitcoin wallet balance

easylayer GitHub profile pictureeasylayer

Stay up to date 📬

Subscribe to get timely updates on new releases, bug fixes, and all the latest EasyLayer news.

⚡ Roadmap ⚡

From Idea and Concept to Implementation and Expansion

🚧 In Progress
  • Testing and improving @bitcoin-crawler and @evm-crawler. 
    #1
⏳ Coming Soon
  • Release stable versions of @bitcoin-crawler and @evm-crawler, ready for developers to use. 
    #100

Frequently asked questions

For anything not covered here, join our Forum!