TypeScript SDK for building applications on Dash Platform
Evo SDK provides a high-level, strongly-typed interface for interacting with Dash Platform on supported networks. It wraps the WebAssembly-based @dashevo/wasm-sdk in ergonomic facades covering identities, documents, data contracts, tokens, DPNS, and more. The SDK works in both Node.js and modern browsers.
npm install @dashevo/evo-sdkThe package is ESM-only ("type": "module"). In CommonJS projects, use dynamic import(). Requires Node.js >= 18.18.
Trusted mode is required for all queries. It pre-fetches quorum public keys so the SDK can verify Platform proofs.
import { EvoSDK } from '@dashevo/evo-sdk';
const sdk = EvoSDK.testnetTrusted(); // or mainnetTrusted()
await sdk.connect();
const epoch = await sdk.epoch.current();
console.log('Current epoch:', epoch.index);The SDK organises its API into domain-specific facades, each accessible as a property on the EvoSDK instance:
| Facade | Description |
|---|---|
sdk.addresses |
Query balances, transfer credits, withdraw to L1 |
sdk.identities |
Fetch, create, update, and top up identities |
sdk.documents |
Query, create, replace, delete, and transfer documents |
sdk.contracts |
Fetch, publish, and update data contracts |
sdk.tokens |
Mint, burn, transfer, freeze tokens and query balances |
sdk.dpns |
Register and resolve Dash Platform names |
sdk.epoch |
Query epoch information and evonode proposed blocks |
sdk.protocol |
Protocol version upgrade state and voting |
sdk.stateTransitions |
Broadcast and wait for state transitions |
sdk.system |
System status, quorum info, and total credits |
sdk.group |
Group membership, actions, and contested resources |
sdk.voting |
Contested resource vote states and polls |
A wallet namespace is also exported with utilities for mnemonic generation, key derivation, address validation, and message signing.
Feel free to dive in! Open an issue or submit PRs.
MIT © Dash Core Group, Inc.