For the complete documentation index, see llms.txt. This page is also available as Markdown.

Introduction

Celina — Give your LLM a wallet on Celo

Celina SDK

Server-side only. This package includes server-native dependencies (@agentkarma/sdk, @celo/attribution-tags) that cannot be bundled for the browser. Import it only from Node.js environments — API routes, background workers (BullMQ / Vercel Cron), or CLI scripts.

@andrewkimjoseph/celina-sdk — Celo mainnet library for agent builders: reads, unsigned transaction preparation, optional ERC-4337 AA via createAAClient, and a shared LLM tool catalog (/tools export) that powers celina-mcp and browser wallet apps from one source of truth.

Pair with wagmi / viem when users sign in their wallet, createAAClient for sponsored UserOps, or register the catalog in MCP / AI SDK hosts when building agents.

Celina stack

Layer
What it adds

SDK (this package)

Chain logic, SerializedPreparedFlow (chainId: 42220), ERC-8021 Celina attribution, @andrewkimjoseph/celina-sdk/aa (createAAClient), and @andrewkimjoseph/celina-sdk/tools

MCP

Registers filtered catalog via registerSdkTools; stdio execute_* with CELO_PRIVATE_KEY; optional address defaults via session wallet

MCP remote

Public https://mcp.usecelina.xyz/api/mcp — hosted reads + prepare + attribution tools (no server-key writes; no sponsorship keys)

Browser hosts

filterToolDefinitions(..., { surface: "browser" }) — user signs prepared txs in wallet; no server keys

Third-party apps can consume the programmatic client only, or wire the full tool catalog into Vercel AI SDK / custom orchestrators — see LLM tool catalog.

What you can do

Category
Examples

Reads

Token balances, Mento FX quotes, Uniswap v4 quotes, governance, staking, ENS, GoodDollar whitelist/UBI, AgentKarma reputation

Estimates

Gas for sends, FX swaps, Uniswap swaps, generic contract calls

Prepare

Unsigned flows for sends, Mento FX, Uniswap v4, Aave, GoodDollar UBI claim, governance locks/votes, validator staking/delegation, generic contract writes (chainId: 42220)

Humanness

client.humanness.checkHumanness — dual-rail Self Agent ID or GoodDollar whitelist check gating governance/staking prepares

Sponsored UserOps

createAAClient + sendPreparedFlow (app-owned Pimlico key; optional attributionTags)

Sign-time simulation

@andrewkimjoseph/celina-sdk/simulationsimulatePreparedStep before each wallet send

Attribution

Dual CELINA suffixes; prefer check_attribution_tag / checkAttributionInCalldata for unified custom tags

Tool catalog

ALL_TOOL_DEFINITIONS, filterToolDefinitions — same tools as celina-mcp, filterable by surface and families

Reputation

AgentKarma karma, ERC-8004 agent lookup, counterparty trust policy (read-only, external API)

The SDK never holds CELO wallet keys on createCelinaClient. Call prepare* with the user's address, then pass steps to wagmi — or submit via createAAClient with your own gas sponsorship credentials.

Prepared / AA calldata uses ERC-8021 Schema 0 attribution (celina + optional app codes). Optional attributionTags on createCelinaClient or createAAClient — see On-chain attribution, Configuration, and Account Abstraction. Historical txs may also carry legacy CELINA|… UTF-8; verify/check still decode it.

Quick start

For agent hosts, import the shared catalog:

API overview

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, UBI entitlement, identity guidance

prepareClaimUbi

transaction

gas fees, estimates

prepareSend

mentoFx

getFxQuote, estimateFx

prepareFx

uniswap

getSwapQuote, estimateSwap

prepareSwap

aave

prepareSupply, prepareWithdraw

governance

proposals, votable proposals, locked balance, pending withdrawals

prepareLockCelo, prepareUnlockCelo, prepareRelockCelo, prepareWithdrawCelo, prepareVote (humanness-gated)

staking

balances, activatable stakes, validator groups, delegation info, getStakeEligibility, getGovernanceDelegates

prepareStake, prepareActivateStake, prepareUnstake, prepareDelegatePower, prepareUndelegatePower (humanness-gated)

humanness

checkHumanness — dual-rail Self or GoodDollar

nft

NFT info, balance

contract

callFunction, estimateGas

prepareFunction

self

verify, lookup, session lifecycle

agent signing (Node + selfAgentPrivateKey)

agentKarma

karma, ERC-8004 agent, counterparty trust policy

Governance and staking prepare* writes require checkHumanness to pass first — see Humanness. Before staking, call getStakeEligibility (or rely on prepareStake's built-in check) — see Staking. GoodDollar identity has two distinct paths (first-time face verify vs connecting a secondary wallet to an existing verified root) — see GoodDollar UBI.

Full method signatures: API reference.

Last updated

Was this helpful?