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.
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..."
)
)
}curl -X POST https://api.idem.finance/v1/transactions \
-H "X-API-Key: sk_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"type": "DEBIT",
"account_id": "acc_treasury",
"monetary_entry": {
"kind": "FIAT",
"amount": "10000.00",
"currency": "USD",
"rail": "PIX"
}
},
{
"type": "CREDIT",
"account_id": "acc_customer_123",
"monetary_entry": {
"kind": "ON_CHAIN",
"amount": "10000.00",
"token": "USDC",
"chain_id": "EVM_8453",
"tx_hash": "0xabc..."
}
}
]
}'// Claude Code / Cursor — via MCP
// Configure in claude_desktop_config.json:
// {
// "mcpServers": {
// "idem": {
// "url": "https://mcp.idem.finance",
// "apiKey": "sk_live_..."
// }
// }
// }
// Then in any MCP-compatible AI agent:
"Post a debit of 10,000 USD from acc_treasury
and a credit to acc_customer_123 for the USDC
transfer on Base chain with hash 0xabc..."
// Idem PolicyGuard validates → AuditLog written
// → Transaction committed → webhook firesOpen 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.
- ✓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.