Starkzap — Bitcoin in your app in minutes
Bring Bitcoin, stablecoins, and DeFi to any web or mobile app via Starknet in minutes. One TypeScript SDK: wallets, tokens, staking, and gasless transactions — with a clean API and great UX. Starknet’s account abstraction lets you hide blockchain complexity (no seed phrases, optional gasless flows). Works on web (React, Vite, etc.), iOS & Android (React Native, Expo), and Node.js backends.
Full documentation: docs.starknet.io/build/starkzap
Curated list of projects using Starkzap: awesome-starkzap
Starkzap Debugging Group: telegram chat
Installation
Peer dependencies (installed automatically with starkzap):
starknet(v9+) — Starknet.js core (installed withstarkzap)@cartridge/controller— optional peer, only needed for Cartridge support
For specific integrations, you may need:
- Privy (server):
npm install @privy-io/node— see Privy integration - Privy (React Native / Expo): see the Privy docs for the Expo SDK
- AVNU Paymaster: no extra package; configure a paymaster URL — see Paymasters and AVNU integration
The package is published on npm as starkzap; use npm install starkzap and from "starkzap" when not developing from this repo.
Quick Start
import { StarkZap, StarkSigner, OnboardStrategy, Amount, fromAddress, sepoliaTokens, } from "starkzap"; const sdk = new StarkZap({ network: "sepolia" }); const { wallet } = await sdk.onboard({ strategy: OnboardStrategy.Signer, account: { signer: new StarkSigner("0xYOUR_PRIVATE_KEY") }, deploy: "if_needed", }); const STRK = sepoliaTokens.STRK; const balance = await wallet.balanceOf(STRK); console.log(balance.toFormatted()); // "150.25 STRK" const tx = await wallet.transfer(STRK, [ { to: fromAddress("0xRECIPIENT"), amount: Amount.parse("10", STRK) }, ]); await tx.wait();
For onboarding flows (Privy, Cartridge, etc.) and more examples, see the Quick Start guide.
Documentation
All guides and API reference live on the Starknet docs site. We recommend starting with Quick Start.
- Overview
- Installation
- Quick Start
- Configuration
- Paymasters
- Connecting Wallets
- Transactions
- ERC20 Tokens
- Staking
- Transaction Builder
- Integrations — AVNU Paymaster, Privy, Cartridge
- Examples
- API Reference
- Glossary · Troubleshooting
Examples
The repo includes web, mobile, and server examples in examples/. See the Examples docs for run instructions and details.
Contributors✨
Thanks goes to these wonderful people (emoji key):
0xLucas 💻 |
micbakos 💻 |
0xsisyfos 💻 |
Akashneelesh 💻 |
Abdel @ StarkWare 💻 |
||
|
|
||||||
This project follows the all-contributors specification. Contributions of any kind welcome!
Contributing
npm install npm run typecheck npm test npm run test:integration # requires starknet-devnet npm run lint npm run prettier npm run build
Token and validator presets can be regenerated with npm run generate:tokens, npm run generate:tokens:sepolia, npm run generate:validators, and npm run generate:validators:sepolia.
License
MIT — 0xLucqs