Skip to main content
charli3-js is the first TypeScript SDK for the Charli3 pull oracle on Cardano. It lets any Node, Next.js, or Vercel app read live on-chain prices and post fresh ones in three lines. No Python, no sidecar, no extra service.
import { Charli3 } from "charli3-js";

const c3 = new Charli3({ network: "preprod" });
const { price } = await c3.getOdvReference("ADA/USD");
console.log(price.value, price.isExpired);

What you get

Read on-chain prices

One call gives you the USD value, freshness, and the UTXO it came from.

Post a fresh price

One call collects signed feeds from the oracle nodes, builds the tx, and submits it.

Runs in your app

Lives in your Next.js route or Node service. No subprocess, no YAML, no Python.

Auto-updated presets

Oracle addresses and keys ship with each release. Update with npm update charli3-js.

Install

npm install charli3-js @lucid-evolution/lucid

Three ways to use it

Quickstart

Two-minute path from npm install to a fresh price in a Next.js app.

Sample app

The hackathon demo, ready to fork. Connect Lace, run the pull-oracle loop, pay a USD invoice in ADA.

AI agents

Drop one skill.md file into Masumi, Claude, Cursor, or any tool-calling LLM to teach it Charli3.

Why this exists

Before this, the only way to use Charli3 was the Python SDK. If your app is on Node, Next.js, or Vercel, that means running Python on the side. charli3-js removes that step. Same oracle, same on-chain contract, same nodes. Just inside your app instead of next to it. Full comparison.

Hackathon context

Built for the Charli3 Oracles Hackathon, Track 3 (Oracle Tooling). The goal is to make it easier for Cardano builders to use a pull oracle. MIT licensed, source on GitHub.

GitHub

github.com/SkepX/charli3-js