explaingit

firecash/zkas-sdk

Analysis updated 2026-05-18

2TypeScriptAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

A TypeScript SDK for building non-custodial wallets on ZKas, a privacy-focused Kaspa fork, with on-device verification before any payment is signed.

Mindmap

mindmap
  root((ZKas SDK))
    What it does
      Shielded wallet client
      On device signing
      Fee verification
    Tech stack
      TypeScript
      Rust
      WASM
    Use cases
      Build wallet apps
      Send verified payments
      Watch only tracking
    Audience
      Wallet developers
      Crypto integrators
      Security reviewers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a non-custodial wallet app for the ZKas cryptocurrency

USE CASE 2

Verify and sign a shielded payment on-device before it is submitted

USE CASE 3

Register a watch-only wallet using just a viewing key

USE CASE 4

Send a payment across a fragmented wallet's many small transaction notes

What is it built with?

TypeScriptRustWASM

How does it compare?

firecash/zkas-sdk4ssh1/mine-sweeperachawla19/intuitcode-extension
Stars222
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-01-31
MaintenanceMaintained
Setup difficultymoderatemoderatemoderate
Complexity4/52/54/5
Audiencedevelopervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Sending payments requires a WASM signer built from a companion repository and a wallet capability token from the hosted service.

In plain English

ZKas SDK is a developer toolkit for building wallets and other apps on top of ZKas, a version of the Kaspa cryptocurrency that keeps transactions private, or shielded, by default. Rather than asking developers to build their own cryptography for this, the SDK gives them a ready made TypeScript client to talk to a hosted wallet service, handling things like checking a wallet's status, registering it for read only viewing, checking balances and transaction history, and sending a payment through a multi step process that includes verifying and signing on the user's own device before anything is submitted. The project is upfront about how much trust each setup requires. If you use the hosted TypeScript client, your seed stays on your own device while only a viewing key sits with the wallet service, meaning the service can see your wallet's activity but can never move your funds or trick your device into approving a payment you did not actually intend. There is also a fully local option, built in Rust and kept in a separate repository, that keeps everything private from the wallet service entirely, and a watch only mode that can only view a wallet's activity and never spend from it. Two specific protections are built directly into the signing device rather than left to policy. First, the device always rebuilds and checks the full payment itself before signing, confirming it matches exactly the amount and recipient that were approved. Second, it reads the network fee from the payment data itself rather than trusting a number reported by the server, and it refuses to sign anything above a maximum fee the user has approved in advance. Installing the SDK is a simple npm install, and the README includes a short code example showing how to construct a client, prepare a signer, and send a payment while tracking its progress. The project is released under the ISC license.

Copy-paste prompts

Prompt 1
Show me how to install @zkas/sdk and send my first payment using it
Prompt 2
Explain the difference between the hosted hybrid mode and the local Rust mode in ZKas SDK
Prompt 3
How does ZKas SDK's fee ceiling protection prevent a compromised server from overcharging fees?
Prompt 4
Help me register a watch-only wallet with ZKas SDK using a viewing key

Frequently asked questions

What is zkas-sdk?

A TypeScript SDK for building non-custodial wallets on ZKas, a privacy-focused Kaspa fork, with on-device verification before any payment is signed.

What language is zkas-sdk written in?

Mainly TypeScript. The stack also includes TypeScript, Rust, WASM.

How hard is zkas-sdk to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is zkas-sdk for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.