SDK Overview
TypeScript SDK for Dome shielded transactions on Base.
@dome/sdk-evm is the TypeScript SDK for Dome on Base — deposit, sync shielded balance, and withdraw with Groth16 proofs.
Install
npm install github:Dome-Foundation/dome-sdk-evm#mainMonorepo:
npm install @dome/sdk-evm@file:../dome-sdk-evm
cd dome-sdk-evm && npm run buildExports
import {
deposit,
withdraw,
getBalance,
DOME_SIGN_IN_MESSAGE,
} from '@dome/sdk-evm';See example/eth.ts and the dome-web wallet.
Packages
| Package | Role |
|---|---|
@dome/sdk-evm | Client SDK |
@dome/backend | Indexer + relayer API |
@dome/core-evm | Contracts (Hardhat) |
@dome/web | Next.js wallet + marketing |
Requirements
Before calling SDK functions, configure environment variables:
- Indexer URL (
DOME_EVM_INDEXER_URL) - Base RPC (
DOME_BASE_RPC) - Pool + fee addresses
- Circuit
keyBasePath(HTTPS for browser)
Browser vs Node
| Runtime | Notes |
|---|---|
| Browser | Loads circuits from CDN; use backend proxy or CORS-enabled API |
| Node / CLI | Direct env vars; see Examples |
Sections
Getting Started
Install, env, and smoke tests.
Configuration
All DOME_* env vars.
Examples
Balance, deposit, withdraw, integration test.
Publish (maintainers)
Scoped npm publish requires the @dome org and NPM_TOKEN in CI. Bump package.json version and push to main — the workflow publishes when the version is new.