🚀 v0.1.0 is live — docker-compose up in 5 minutesView on GitHub →
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.

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.

Italo Cavalcanti

Built by

Italo Cavalcanti

Backend engineer with 14 years building scalable software for millions of users — the last 7 in payment infrastructure across Latin America, at XP Inc, dLocal, and Caliza.

I kept hitting the same problem: fintechs settling cross-border payments on stablecoin rails had no ledger that handled both fiat and on-chain entries correctly. Everyone was building it from scratch.

So I built Idem from Recife, Brazil 🇧🇷 — and open-sourced it so nobody has to start over again.

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.

9
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

Get started in 5 minutes

# Clone and run locally
git clone https://github.com/idem-finance/idem
cd idem
docker-compose up -d

# Or pull the Docker image directly
docker pull idemfinance/idem:latest

# Add the Kotlin SDK to your project
# pom.xml:
# <dependency>
#   <groupId>finance.idem</groupId>
#   <artifactId>idem-sdk-kotlin</artifactId>
#   <version>0.1.0</version>
# </dependency>