idem

The ledger layer stablecoin payment companies are missing.

Event-sourced. Agentic-first. Fiat and on-chain. The open-source double-entry ledger for cross-border stablecoin payments — with built-in reconciliation, Travel Rule-aware audit trail, and AI agent workflows.

No spam. Updates only when something ships.

View on GitHub ↗Read the docs ↗
Kotlin·Spring Boot·PostgreSQL·EVM·Solana·Tron·Open Source·FSL Licensed

The problem

You move money. But who accounts for it?

Every stablecoin payment creates an accounting obligation. USDC arrives on-chain. Your ledger should know. Most don't — or rely on spreadsheets.

Reconciliation is still manual.

Cross-border PSPs spend engineering cycles matching on-chain transfers to internal records. Nobody has automated this correctly.

AI agents need a safe ledger interface.

As agentic workflows enter finance, every automated action needs an audit trail, policy guard, and rollback. No existing ledger was built for this.

A ledger built for the stablecoin payment stack

Double-entry, event-sourced core

Fiat and on-chain entries in a single unified model. Immutable event log. Point-in-time balance queries. ACID guarantees.

On-chain reconciliation

Chain readers for EVM, Solana, and Tron auto-post ledger entries when on-chain transfers confirm. PENDING → SETTLED automatically.

Agentic-first execution layer

PolicyGuard, AgentAuditLog, and WorkflowPlan as first-class primitives. AI agents execute multi-step ledger workflows safely — with full rollback.

Travel Rule-aware audit trail

IVMS 101 native. Every agent action and human action is HMAC-signed before execution. LGPD-ready for Brazilian fintechs.

See it in action

An AI agent reconciles a batch — with a full audit trail

Claude Code calls Idem's MCP server to reconcile USDC transfers, rolls back on an amount mismatch, and produces an HMAC-signed audit trail — logged before execution, every time.

Integrate in minutes

// Add to pom.xml
// <dependency>
//   <groupId>finance.idem</groupId>
//   <artifactId>idem-sdk-kotlin</artifactId>
//   <version>0.1.0</version>
// </dependency>

val client = IdemClient(apiKey = "sk_live_...")

val result = client.postTransaction {
    debit(
        account = "acc_treasury",
        amount = 10_000.usd(),
        rail = PaymentRail.PIX
    )
    credit(
        account = "acc_customer_123",
        amount = 10_000.usd(),
        onChain = OnChainRef(
            token = StablecoinToken.USDC,
            chain = ChainId.BASE,
            txHash = "0xabc..."
        )
    )
}

Open source. Always.

The Idem ledger core is open source under the FSL-1.1-ALv2 license. Self-host it. Read the code. Audit the invariants. Contribute.

3
Stars
0
Forks
Star on GitHub ↗
  • Full ledger core — no feature limits
  • Chain readers for EVM, Solana, Tron
  • MCP server included

Built for the cross-border stablecoin stack

Ethereum · Base · Polygon · Solana · Tron

USDC · USDT · BRZ · PYUSD

Works alongside the tools you already use:

Alchemy · QuickNode

Be first to know when Idem ships.

Early access for cross-border payment teams.

No spam. Updates only when something ships.