# @celo/contractkit

> Celo's ContractKit to interact with Celo network

Latest version **11.0.0** (published 2026-06-15) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @celo/contractkit
pnpm add @celo/contractkit
yarn add @celo/contractkit
bun add @celo/contractkit
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; no vulnerabilities; has provenance; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 11.0.0 |
| Published | 2026-06-15 |
| First published | 2019-07-09 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=20 |
| Dependencies | 11 |
| Unpacked size | 1.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 44 |
| Author | Celo |
| Maintainers | app-tooling, jcortejoso, alvarof2, pahor |
| Keywords | celo, blockchain, contractkit |

## Links

- npm: https://www.npmjs.com/package/@celo/contractkit
- Repository: https://github.com/celo-org/developer-tooling
- Homepage: https://docs.celo.org/developer-guide/contractkit
- Issues: https://github.com/celo-org/developer-tooling/issues
- npm.io page: https://npm.io/package/@celo/contractkit

## Dependencies (11)

- [viem](https://npm.io/package/viem.md) ^2.33.2
- [debug](https://npm.io/package/debug.md) ^4.1.1
- [fp-ts](https://npm.io/package/fp-ts.md) 2.16.9
- [semver](https://npm.io/package/semver.md) ^7.7.2
- [@celo/abis](https://npm.io/package/@celo/abis.md) 13.0.0-post-audit.0
- [@celo/base](https://npm.io/package/@celo/base.md) ^7.0.4
- [@celo/utils](https://npm.io/package/@celo/utils.md) ^8.0.3
- [@types/debug](https://npm.io/package/@types/debug.md) ^4.1.5
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^9.0.0
- [@celo/connect](https://npm.io/package/@celo/connect.md) ^8.0.0
- [@celo/wallet-local](https://npm.io/package/@celo/wallet-local.md) ^8.0.4

## Recent versions

- 11.0.0 (latest) — 2026-06-15
- 10.0.2-alpha.0 (alpha) — 2025-10-13
- 10.0.1-beta.1 (beta) — 2025-08-06
- 10.0.1-cc13.0 (cc13) — 2025-07-30
- 7.1.0-contracts-11-post-audit.1 (contracts-11-post-audit) — 2024-02-28
- 7.0.0-contracts-11-pre.2 (contracts-11-pre) — 2024-02-07
- 2.0.0-rc.3 (rc) — 2022-04-26
- 1.5.2 (9055c44a695cec80310060513f19362b88b4e45e) — 2022-02-08
- 1.1.0-beta.1 (ced66240c06781fe305799c6eb6325a75e4cab4a) — 2021-03-06
- 1.0.2-beta-1 (9d0893f37d953f0a37c362e1c46257fd1a1b6912) — 2021-02-11
- 1.0.2-beta (cf26898f49ebfcd9ec669f7c466c57810565007d) — 2021-02-04
- 1.0.1 (d532d06f60999e0ed951839cc0cff9e0abf4d505) — 2021-01-21
- 1.0.0-beta4 (a08a4e5179745cf824b6d8410a272b8263d0a386) — 2021-01-11
- 1.0.0-beta (a640ba0daa8e644ea593c01b30f32943778cd0f6) — 2020-11-26
- 0.4.18 (16e8b0c8f91504073860a80a6fc551b09400c335) — 2020-10-31
- … 187 more at https://npm.io/package/@celo/contractkit/versions

## README

# ContractKit

Celo's ContractKit is a library to help developers and validators to interact with the Celo blockchain.

ContractKit supports the following functionality:

- Interact with json RPC API
- Send Transaction with celo's extra fields: (feeCurrency)
- Build apps to interact with governance and staking

## User Guide

> [!TIP]
> You might not need the ContractKit. For new projects we recommened [viem](https://viem.sh/docs/chains/celo) or [web3](https://www.npmjs.com/package/web3) optionally with [our celo plugin](https://www.npmjs.com/package/@celo/web3-plugin-transaction-types). 


### Getting Started

To install you will need Node.js v18.14.2. or greater. v20 reccomended.

```bash
npm install @celo/contractkit
// or
yarn add @celo/contractkit
```

### Examples

To start working with contractkit you need a `kit` instance:

```ts
import { newKit } from '@celo/contractkit' // or import { newKit } from '@celo/contractkit/lib/mini-kit'

const kit = newKit("https://forno.celo-sepolia.celo-testnet.org")

```

#### List Registered ValidatorGroups

```ts

const validatorsContractWrapper = await kit.contracts.getValidators()
const validatorGroups = await validatorsContractWrapper.getRegisteredValidatorGroups()

```

### Show locked Celo balance for account

```ts
const lockedGoldContractWrapper = await kit.contracts.getLockedGold()

const accountAddress = kit.defaultAccount 
const summary = lockedGoldContractWrapper.getAccountSummary(accountAddress!)

```


### More Information

You can find more information about the ContractKit in the Celo docs at [https://docs.celo.org/developer-guide/contractkit](https://docs.celo.org/developer-guide/contractkit).


## How we work

We are a GitHub-first team, which means we have a strong preference for communicating via GitHub.
Please use GitHub to:

🐞 [File a bug report](https://github.com/celo-org/developer-tooling/issues/new/choose)

💬 [Ask a question](https://github.com/celo-org/developer-tooling/discussions)

✨ [Suggest a feature](https://github.com/celo-org/developer-tooling/issues/new/choose)

🧑‍💻 [Contribute!](/CONTRIBUTING.md)

🚔 [Report a security vulnerability](https://github.com/celo-org/developer-tooling/issues/new/choose)

> [!TIP]
>
> Please avoid messaging us via Slack, Telegram, or email. We are more likely to respond to you on
> GitHub than if you message us anywhere else. We actively monitor GitHub, and will get back to you shortly 🌟



### Debugging

If you need to debug `kit`, we use the well known [debug](https://github.com/visionmedia/debug) node library.

So set the environment variable `DEBUG` as:

```bash
DEBUG="kit:*,
```

---
_Source: https://npm.io/package/@celo/contractkit · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
