Leave empty for public nodes. Your node must have --rpclisten-borsh=0.0.0.0:17110 enabled.
Detect used addresses via your own
kaspa-rest-server. Requires REST URL.
Your kaspa-rest-server with DB indexer.
Public APIs do not support this feature.
Pull stealth R's from the keeper
instead of scanning in-browser.
Send KAS
Scan with KasSigner
Scan QR Code
Waiting for camera...
Receive KAS
Multisig Spend
Spend from a P2SH multisig address
Covenant++
Create and spend covenant addresses
Active Covenants
0
🔒
Savings & Time Locks
▼
Dead Man's Switch
Heir inherits after inactivity. Heartbeat resets timer.
Piggy Bank
Save toward a goal or a deadline. Break it open to withdraw.
Time-Locked Savings
Lock funds until a date. No one can touch them early, not even you.
🚦
Spending Controls
▼
Allowance
A beneficiary withdraws up to a cap, with a cooldown between withdrawals.
Merkle Whitelist
Spend to approved set via proof.
Spending Limit
A cap on each withdrawal, with a cooldown between them. Applies to your whole balance.
🤝
Multi-Party & Conditional
▼
Direct Channel
Direct payment channel with arbiter dispute resolution.
Oracle
Release on oracle attestation.
PayJoin
Anonymous payment covenant.
⚡
Advance & PoC
▼
Commit-Reveal
MEV-resistant inscriptions.
Private Swap
Private atomic swap. No preimage, no on-chain link.
ZK Price Oracle
Live KAS/USD. Pyth + Wormhole, proven on-chain.
Tagged Vault (KIP-20)
Covenant-ID-aware vault. Proves state continuity via KIP-20 opcodes.
Uses an ephemeral key (browser-signed, no KasSigner needed for this PoC).
Ephemeral Address
Pubkey
Send testnet KAS to the ephemeral address above, then proceed to step 2.
Genesis TXID
Covenant ID
Covenant Address
Continuation TXID
Covenant ID (same)
KIP-20 covenant ID continuity confirmed on TN12.
The script verified INPUT_COVENANT_ID == OUTPUT_COVENANT_ID.
Split TXID
Covenant ID (same)
Output A / B
Split confirmed. AUTH_OUTPUT_COUNT==2 and COV_OUTPUT_COUNT==2 enforced by script.
5 KIP-20 opcodes exercised.
Air-gap mode: sign the genesis TX on KasSigner (requires wallet loaded).
Covenant Address
Covenant ID
PSKB ready. Scan on KasSigner, sign, scan back. Then Finalize + Broadcast.
Private Swap
Trustless atomic swap using adaptor signatures. Both transactions
look like normal payments on-chain. No preimage. No visible link.
Create Private Swap
Set your offer. Your counterparty will scan your invite QR.
Private Swap
Your UTXO
Counterparty UTXO
Join Private Swap
Scan the invite QR, set your amount, then confirm.
Counterparty offers:
Timeout:
Your personal savings vault. Add funds any time. Break it open when you reach your goal or after the deadline.
Fill one or both. Goal reached OR deadline passed lets you break the piggy bank.
Leave both empty to break anytime.
Breaking on the goal means withdrawing at least the goal amount in one sweep; a smaller amount needs the deadline to have passed.
2-of-3 escrow: buyer, seller, and arbiter.
Addresses derived automatically from pubkeys.
Buyer-funded escrow with seller, deliverer, and arbiter.
You are the buyer. Payouts go to each party's address (from pubkey).
Lock KAS until a date. No one can move the funds before then, not even you.
After the date, claim to anywhere with your wallet (or a backup wallet).
Deposit by sending normally to the covenant address, as many times as you like.
Pick the date and time. KasSee calculates the DAA score automatically. The unlock is approximate (the chain clock drifts over long periods).
An independent second wallet that can also claim after the date, so a lost main key does not lock you out. Either wallet alone can claim (this is not multisig).
Your heir can claim the funds only after a period of inactivity.
Send a heartbeat anytime to reset the timer.
YEARS
MONTHS
DAYS
HOURS
MINS
If you don't send a heartbeat within this period, your heir can claim.
Lock your funds behind a hard spending limit. You can withdraw up to the max amount,
then must wait the cooldown before the next withdrawal. No bypass, no override.
Set this to 0.1 KAS or more. Withdrawals under ~0.1 KAS are uneconomical: a small
output carries a high storage-mass fee that can exceed the amount you withdraw.
YEARS
MONTHS
DAYS
HOURS
MINS
Once created, these limits cannot be changed or bypassed.
Set an allowance for a beneficiary. They can withdraw up to the max per TX,
with a cooldown between withdrawals. Optionally lock funds until a start date.
Only the beneficiary can withdraw.
YEARS
MONTHS
DAYS
HOURS
MINS
Leave empty for immediate access. Set a date to lock funds until then (vesting).
Withdraw up to ? KAS every 24 hours. Uses OP_CHECKSEQUENCEVERIFY.
Oracle-gated escrow. Beneficiary can claim only when an
oracle signs a message hash off-chain (OpCheckSigFromStack).
Owner can refund after timeout. Set the oracle by its
account-level kpub (a /0/0 address will not work).
Use cases: insurance payouts, sports bets, price triggers, escrow arbitration.
ZK-gated crowdfunding. Each contributor locks funds in their own P2SH.
Organizer sweeps all when a ZK proof shows total >= goal.
Contributors refund individually after timeout.
Anonymous payment. Owner locks funds for a
beneficiary. To claim, the beneficiary must add their own
inputs to the TX, making it look like a multi-party
consolidation on the DAG instead of a directed payment.
The beneficiary only needs a kpub and some funds.
Owner can refund after timeout.
Commit-reveal covenant. Type your secret on KasSigner
(air-gapped). The device hashes and encrypts it.
Scan the commitment QR here. Your secret never
touches the browser. Reveal later to spend.
Refund after timeout if you don't reveal.
Merkle whitelist vault — funds can only go to approved addresses.
Uses OP_CAT + OP_BLAKE2B for on-chain merkle proof verification.
Supports thousands of addresses with a 32-byte root in the script.
After this date the owner can refund to any address, so the whitelist no longer applies. Tap Lifetime Block to make the whitelist permanent. The DAA score is auto-calculated.
Organizer: generate ZK proof and sweep contributor funds.
Select UTXOs to consolidate or withdraw. Owner signature required.
Claim an HTLC by revealing the preimage whose hash matches.
Requires counterparty's KasSigner to sign the TX.
Write the attestation text. KasSee will hash it and
generate a QR for KasSigner to sign.
On your KasSigner: Tools → Single Sig → Sign
Message → Scan Hash, then scan the QR from step 1.
The device shows the signature QR for step 2.
Claim the PayJoin covenant. Your wallet will automatically
add a mixing input. Enter the destination for the funds.
KAS / USD
—
reading the chain…
Pyth + Wormhole · proven on-chain · pull oracle
Fee (higher confirms faster when the network is busy)
oracle: —
roll tx: —
At pickup (state 0):
In transit (state 1):
Step 1: Show the ciphertext QR. On KasSigner, tap
Single Signature -> Decrypt Secret -> scan the QR.
Step 2: Scan the decrypted preimage QR back here.
Step 3: Enter destination and tap Reveal & Spend.
Verify a commit-reveal revelation. Paste the reveal TX ID
to extract the preimage and verify it matches the committed hash.
Revealed Secret
Committed Hash (from script)
Computed Hash (BLAKE2B of preimage)
Commitment Timestamp
Balance
Load a covenant someone shared with you. Scan an invite QR or paste address and redeem script.
Stealth Addresses
Privacy through unlinkable one-time addresses
Stealth addresses let anyone pay you without linking
the payment to your public address. Zero firmware changes
needed — the device signs normally.
Your Stealth Meta-Address
Share this publicly. Anyone with it can send you
private payments that only you can detect.
Announcement address:
Send to Stealth Address
Paste or scan the receiver's stealth meta-address.
KasSee will derive a one-time address for the payment.
One-time payment address:
Ephemeral R (announce this):
Scan for Stealth Payments
Fetches announcements from the stealth announcement address,
sends R values to your device via QR for ECDH scanning,
then checks which one-time pubkeys have UTXOs.
Scans approx. the last ~15 minutes on-chain. Live scan keeps watching new blocks after.