# starknet-io/starknet.js

JavaScript library for Starknet

Repository: https://github.com/starknet-io/starknet.js
Canonical: https://ross.abutalabs.com/products/starknetjs
Homepage: https://starknet-js.com
Language: TypeScript
License: MIT
License Family: permissive
Topics: starknet, starkware, l2, zk, zk-rollup, zk-starks, ethereum
Last push: 2026-08-26T16:21:49+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 81, longevity 100
- inputs: {"age_days": 1780, "days_push": 7, "days_rel": 125, "gap_med": 17.5, "n_releases_24m": 13}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1256, forks 827 (observed 2026-08-28T04:04:09.241614+00:00)

## What it is
Starknet.js is the official JavaScript/TypeScript library for interacting with the Starknet L2 network, a ZK-rollup scaling solution for Ethereum. It provides Provider, Account, Contract, and Signer APIs for reading blockchain state, signing transactions, and calling smart contracts written in Cairo.

## Use cases
- connect a dapp frontend to the starknet network
- call and invoke starknet smart contracts from javascript
- sign transactions and messages with a starknet account
- deploy new contracts and accounts on starknet
- read blockchain state like blocks and contract storage
- convert cairo types like uint256 to javascript big numbers
- build a wallet or trading interface on starknet
- monitor starknet events over websockets

## When to choose
- you are building a web or node.js application on starknet
- you need the official, well-documented client library with full TypeScript support
- you want to interact with Cairo contracts from JavaScript with automatic type transformations
- you need both HTTP and WebSocket RPC channels to starknet nodes

## When to avoid
- you are developing contracts in Cairo rather than interacting with them from JS
- you target a different blockchain like Ethereum L1 directly (use ethers.js or viem)
- you need a non-JavaScript language binding for starknet

## Facets
- artifact type: library
- maturity: active
- function: sdk, http-client, websocket, cryptography, middleware
- domain: blockchain, web-development, developer-tools, apis
- platform: browser, cross-platform
- tags: starknet, starkware, zk-rollup, zk-starks, ethereum, l2, cairo, smart-contracts, dapp-development, web3, blockchain-client, transaction-signing, cryptocurrency, nodejs, javascript, typescript

## Member repositories
- starknet-io/starknet.js (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:09.241614+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:07:17.800815+00:00, confidence not recorded.
  - readme: https://github.com/starknet-io/starknet.js (fetched 2026-08-28T04:04:09.241614+00:00, sha 18a304f082e0)
  - homepage: https://starknet-js.com (fetched 2026-08-29T12:17:50.778524+00:00, sha afe84ada1fab)
  - site_page: https://starknet-js.com/docs/guides/migrate (fetched 2026-08-29T12:17:50.780989+00:00, sha 367fb5ead562)
  - site_page: https://starknet-js.com/docs/API (fetched 2026-08-29T12:17:50.783129+00:00, sha 62a5e5c6d3b8)
  - site_page: https://starknet-js.com/docs/guides/intro (fetched 2026-08-29T12:17:50.784839+00:00, sha d45e572cc983)
  - site_page: https://starknet-js.com/docs/next/guides/why_starknetjs (fetched 2026-08-29T12:17:50.787167+00:00, sha ddb443824cb1)
  - site_page: https://starknet-js.com/docs/8.6.0/API (fetched 2026-08-29T12:17:50.789290+00:00, sha 000ecc093a43)
  - site_page: https://starknet-js.com/docs/7.6.4/API (fetched 2026-08-29T12:17:50.791092+00:00, sha cdfedbb9ccfe)
  - site_page: https://starknet-js.com/docs/6.24.1/API (fetched 2026-08-29T12:17:50.792841+00:00, sha 8352dd9f0b50)
- Data as of 2026-08-30T08:39:29.467469+00:00.
