Build on Lichen

The developer portal for the agent-first blockchain. Everything you need to build, deploy, and scale.

$0.0001
Per Transaction
~400ms
BFT Finality
Latest Block
Validators
Explore the Developer Portal
Quick Start
Set up your dev environment, create a wallet, and send your first transaction in minutes.
JSON-RPC API
Complete reference for the RPC surface — query state, submit transactions, and inspect method coverage.
Exchange Integration
Native LICN listing readiness, chain metadata, operations gates, and source-backed exchange integration docs.
Neo X Integration
Route status, wNEO/wGAS reserves, GAS rewards reads, DEX pairs, agent-compute gates, and public activation gates for Neo developers.
WebSocket API
Real-time subscriptions for blocks, transactions, logs, and account changes over WebSocket.
JavaScript SDK
Full-featured client for Node.js and browsers. Wallet management, signing, and contract interaction.
Python SDK
Pythonic client for data analysis, automation, and backend integration with Lichen.
Rust SDK
Native async Rust client for high-performance applications and on-chain program development.
Smart Contracts
Write, test, and deploy WASM smart contracts with Rust. Guides, patterns, and best practices.
LichenID Identity
On-chain reputation and identity layer. Trust tiers, fee discounts, and priority transaction lanes.
Contract Reference
Host functions, storage API, event emission, cross-contract calls, and gas metering reference.
CLI Reference
Complete command-line tool docs — wallet management, deployments, queries, and validator ops.
Validator Guide
Run a validator node. Hardware requirements, staking, monitoring, and Proof of Contribution scoring.
Programs IDE
Browser-based IDE for writing, compiling, and deploying Lichen smart contracts instantly.
Live Network Surfaces

Connect & Get Balance

A quick example in every supported language.

JavaScript
import { Connection, PublicKey } from '@lobstercove/lichen-sdk';

// Connect to public testnet
const connection = new Connection(
    'https://testnet-api.lichen.network',
    'wss://testnet-api.lichen.network/ws'
);

// Get balance for an address
const pubkey = new PublicKey('11111111111111111111111111111112');
const balance = await connection.getBalance(pubkey);

console.log(`Balance: ${balance.licn} LICN`);
// → Balance: 42.5000 LICN
Python
import asyncio
from lichen import Connection, PublicKey

async def main():
    connection = Connection(
        "https://testnet-api.lichen.network",
        ws_url="wss://testnet-api.lichen.network/ws"
    )

    pubkey = PublicKey("11111111111111111111111111111112")
    balance = await connection.get_balance(pubkey)
    print(f"Balance: {balance['licn']} LICN")

    await connection.close()

asyncio.run(main())
# → Balance: 42.500000000 LICN
Rust
use lichen_client_sdk::{Client, Pubkey, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let client = Client::new("https://testnet-api.lichen.network");

    let pubkey = Pubkey::from_base58("11111111111111111111111111111112")?;
    let balance = client.get_balance(&pubkey).await?;

    println!("Balance: {:.9} LICN", balance.licn());
    Ok(())
}
CLI
# Check balance of the default identity
$ lichen --rpc-url https://testnet-api.lichen.network balance
42.500000000 LICN

# Check balance of a specific address
$ lichen --rpc-url https://testnet-api.lichen.network balance 11111111111111111111111111111112
42.500000000 LICN

# Switch to mainnet by replacing the endpoint
$ lichen --rpc-url https://rpc.lichen.network balance 11111111111111111111111111111112
42.500000000 LICN