@andrewkimjoseph/celina-sdk
v0.1.0
Published
Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.
Maintainers
Readme
Celina SDK
Celo mainnet library for frontend apps: reads and unsigned transaction preparation (no private keys).
Pair with wagmi / viem in the browser — users sign prepared transactions in their wallet.
Install
npm i @andrewkimjoseph/celina-sdkRequires Node.js ≥ 20.
Quick start
import { createCelinaClient } from "@andrewkimjoseph/celina-sdk";
const celina = createCelinaClient({
rpcUrl: "https://forno.celo.org",
ethRpcUrl: "https://ethereum.publicnode.com", // optional, for ENS
});
// Reads
await celina.token.getStablecoinBalances("0xYourAddress");
await celina.mentoFx.getFxQuote("USDm", "EURm", "100");
// Prepare unsigned txs (user signs in wallet)
const flow = await celina.transaction.prepareSend(
"0xFrom",
"0xTo",
"USDm",
"10",
);
// flow.steps → pass to wagmi sendTransactionAPI
| Service | Reads | Prepare (unsigned) |
|---------|-------|---------------------|
| blockchain | network status, blocks, transactions | — |
| account | CELO balance, nonce | — |
| token | balances, token info, stablecoins | — |
| ens | resolve ENS names | — |
| gooddollar | whitelist status | — |
| transaction | estimateSend(from, …) | prepareSend(from, …) |
| mentoFx | getFxQuote, estimateFx(from, …) | prepareFx(from, …) |
| aave | — | prepareSupply(from, …), prepareWithdraw(from, …) |
Prepared flows return { preparedFlow: true, steps, summary, from, network } with JSON-safe value strings.
Related packages
@andrewkimjoseph/celina-mcp— MCP server for IDE/CLI agents (server-key writes + Self Agent ID)@selfxyz/agent-sdk— Self Agent ID (separate from this SDK)
License
MIT
