Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lanelayer/core-lane/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Core Lane nodes support multiple deployment modes with extensive configuration options. This reference covers all configuration parameters extracted from the source code.Command-Line Arguments
Global Options
Available across all commands:| Parameter | Type | Default | Description |
|---|---|---|---|
--plain | flag | false | Plain output mode (no emojis, machine-readable) |
--data-dir | string | . | Data directory for wallet databases and state |
Node Operation Modes
Standard Node (start)
Runs a full Core Lane node that anchors to Bitcoin.
Bitcoin RPC Configuration
Read Operations (required):--bitcoin-rpc-read-url: Bitcoin RPC URL for reading blockchain data (default:http://127.0.0.1:18443)--bitcoin-rpc-read-user: Bitcoin RPC username (default:user)--bitcoin-rpc-read-password: Bitcoin RPC password (required)
--bitcoin-rpc-write-url: Separate URL for wallet operations (defaults to read URL)--bitcoin-rpc-write-user: Username for write operations (defaults to read user)--bitcoin-rpc-write-password: Password for write operations (defaults to read password)
Chain Synchronization
--start-block: Bitcoin block height to start processing from (optional)- If not specified, node resumes from last processed block
- Only used on fresh start; ignored if state exists on disk
--electrum-url: Electrum server URL for mainnet/testnet/signet (optional)- Example:
ssl://electrum.blockstream.info:50002 - Not required for regtest networks
- Example:
HTTP Server
--http-host: HTTP server bind address (default:127.0.0.1)- Use
0.0.0.0to accept connections from all interfaces
- Use
--http-port: HTTP server port (default:8545)
Security & Authentication
Mnemonic Configuration (required): Three methods to provide the mnemonic, checked in priority order:- File (recommended):
--mnemonic-file /path/to/file- Most secure, not visible in process listings
- Environment variable:
CORE_LANE_MNEMONIC="your words here"- Secure for containerized environments
- Command-line flag:
--mnemonic "your words here"- Not recommended: visible in process list and shell history
Sequencer Configuration
--sequencer-rpc-url: Sequencer RPC endpoint (optional)- When set,
eth_sendRawTransactionforwards transactions to this endpoint - Used for submitting transactions to a centralized sequencer
- When set,
--sequencer-address: Sequencer address for priority fees (hex format)- Default:
0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266(first Anvil address) - Important: Change this in production environments
- Default:
Polling Mode
--on-demand-polling: Enable on-demand polling mode (flag)- Disables continuous block scanning
- Blocks are only processed when
POST /do_pollis called - Useful for testing or manual control
Derived Node (derived-start)
Runs a derived node that reads bundles from another Core Lane node via DA.
Configuration Parameters
--core-rpc-url: Upstream Core Lane JSON-RPC URL (required)--chain-id: Chain ID for the derived chain (default:1281453634)--derived-da-address: Data availability contract address (required)--start-block: Starting block number (default:0)--http-host: HTTP bind address (default:127.0.0.1)--http-port: HTTP port (default:8545)--sequencer-rpc-url: Forward endpoint for transactions (optional)--sequencer-address: Sequencer fee recipient address (optional)--on-demand-polling: Enable manual polling mode (flag)
Espresso Derived Node (derived-espresso-start)
Runs a derived node that reads bundles from Espresso.
Configuration Parameters
--espresso-base-url: Espresso query service URL (default:https://query.decaf.testnet.espresso.network/v1)--espresso-namespace: Namespace ID for Core Lane bundles (default:1281453637)- Default is “LanE” as big-endian u32:
0x4C616E45
- Default is “LanE” as big-endian u32:
--core-lane-rpc-url: Upstream Core Lane RPC for reorg detection (required)--chain-id: Chain ID (default:1281453634)--start-block: Starting Core Lane block (optional)--start-anchor: Starting Espresso anchor height (optional)--http-host: HTTP bind address (default:127.0.0.1)--http-port: HTTP port (default:8545)--sequencer-rpc-url: Transaction forwarding endpoint (optional)--sequencer-address: Fee recipient address (optional)
Bitcoin Cache Server (bitcoin-cache)
Runs a caching proxy for Bitcoin RPC with block archiving.
Configuration Parameters
--host: Bind address (default:127.0.0.1)--port: Bind port (default:8332)--cache-dir: Local cache directory (default:./bitcoin-cache)--bitcoin-rpc-url: Upstream Bitcoin RPC URL (required)--bitcoin-rpc-user: Upstream RPC username (default: empty)--bitcoin-rpc-password: Upstream RPC password (default: empty)--no-rpc-auth: Disable RPC authentication (flag)--block-archive: HTTP block archive URL (default:http://144.76.56.210/blocks)--starting-block-count: Initial block height (optional)--disable-archive-fetch: Disable fetching from archive (flag)
S3 Configuration
--s3-bucket: S3 bucket name for uploading cached blocks (optional)--s3-region: AWS region (default:us-east-1)--s3-endpoint: Custom S3 endpoint URL (optional)
Wallet Management Commands
Create Wallet
Creates a BDK wallet for a specific network:--network: Network type (bitcoin, testnet, testnet4, signet, regtest) (default:regtest)--mnemonic: Optional mnemonic to restore wallet (12 or 24 words)--mnemonic-only: Generate mnemonic without creating database file (flag)--electrum-url: Electrum server for initial sync (mainnet/testnet/signet only)
Get Address
Retrieve the next receiving address from wallet:--network: Network type (default:regtest)--mnemonicor--mnemonic-file: Wallet credentials (required)
Get Bitcoin Balance
Check wallet balance:--network: Network type (default:regtest)--mnemonicor--mnemonic-file: Wallet credentials--electrum-url: Electrum server (mainnet/testnet/signet)--rpc-url: Bitcoin RPC URL (regtest) (default:http://127.0.0.1:18443)--rpc-user: Bitcoin RPC username (regtest)--rpc-password: Bitcoin RPC password (regtest)
Transaction Commands
Burn BTC
Burn Bitcoin to mint tokens on Core Lane:--burn-amount: Amount in satoshis (required)--chain-id: Target chain ID (required)--eth-address: Ethereum address to receive minted tokens (required)--network: Bitcoin network (default:regtest)--mnemonicor--mnemonic-file: Wallet credentials--rpc-url: Bitcoin RPC URL (regtest) (default:http://127.0.0.1:18443)--rpc-user: Bitcoin RPC username (regtest) (default:bitcoin)--rpc-password: Bitcoin RPC password (regtest)--electrum-url: Electrum server (mainnet/testnet/signet)
Send Transaction
Broadcast a signed Bitcoin transaction:Send Bundle
Broadcast a bundle of transactions:--raw-tx-hex: Transaction hex (can be specified multiple times)--sequencer-payment-recipient: Payment address (optional)--marker: Bundle marker type: “head” or “standard” (default:standard)
Environment Variables
Runtime Configuration
-
CORE_LANE_MNEMONIC: Wallet mnemonic phrase- Used when no
--mnemonicor--mnemonic-fileprovided - Recommended for Docker/container environments
- Used when no
-
RUST_LOG: Logging level configuration- Examples:
info,debug,warn,error - Module-specific:
RUST_LOG=core_lane=debug,info
- Examples:
Bitcoin Cache Server (entrypoint script)
BITCOIN_CACHE_HOST: Cache server hostname (default:127.0.0.1)BITCOIN_CACHE_PORT: Cache server port (default:8332)BITCOIN_CACHE_PROTOCOL: Protocol (http/https) (default:http)BITCOIN_UPSTREAM_RPC_URL: Upstream Bitcoin RPCBLOCK_ARCHIVE_URL: Block archive endpointSTARTING_BLOCK_COUNT: Initial block countDISABLE_ARCHIVE_FETCH: Disable archive fetching (true/false)
S3 Storage
S3_BUCKET: S3 bucket nameS3_REGION: AWS region (default:us-east-1)S3_ENDPOINT: Custom S3 endpointS3_ACCESS_KEY: AWS access key IDS3_SECRET_KEY: AWS secret access key
Core Lane RPC Server
DATA_DIR: Data directory path (default:/data)CACHE_DIR: Cache directory path (default:/cache)HTTP_HOST: HTTP bind address (default:0.0.0.0)HTTP_PORT: HTTP port (default:8545)ELECTRUM_URL: Electrum server URLNETWORK: Bitcoin network (mainnet, testnet4, signet, regtest)
Derived Node Configuration
CHAIN_ID: Chain identifierDERIVED_DA_ADDRESS: DA contract addressSTART_BLOCK: Starting block numberLANE_LAYER_SNAPSHOT_DIR: Snapshot directory for derived nodesCORE_RPC_URL: Upstream Core Lane RPC (default:https://rpc.lanelayer.com)
Service Control
ONLY_START: Control which services to start- Values:
bitcoin-cache,core-lane,derive-node - When unset, all configured services start
- Values:
Data Directory Structure
Core Lane stores persistent state in the data directory:Network Configurations
Regtest (Development)
Testnet4
Mainnet
Docker Configuration
Example Fly.io configuration for mainnet:Configuration Best Practices
-
Security:
- Always use
--mnemonic-fileor environment variables for mnemonics - Never commit mnemonics to version control
- Use separate read/write RPC endpoints when possible
- Change default sequencer address in production
- Always use
-
Performance:
- Use bitcoin-cache for production deployments
- Mount persistent volumes for
data-dir - Set appropriate
--start-blockto avoid full chain replay
-
Reliability:
- Configure health checks at
/health - Monitor
last_block_processing_time_msmetric - Enable adequate disk space for block data
- Use Electrum servers for non-regtest networks
- Configure health checks at
-
Monitoring:
- Set
RUST_LOG=infofor production - Use
RUST_LOG=debugfor troubleshooting - Monitor reorg metrics via
/healthendpoint
- Set