Send private money to someone who isn’t set up to receive it

STRK20 can only pay an address that has already published a viewing key. Xenia locks funds against a link — and the recipient’s very first transaction registers them and pays them at the same time.

Create a claim link
Why Xenia

A link, not an address

Every private payment system on Starknet can already pay people who set themselves up first. That is the easy half. Xenia is built for the other half — the person who has never opened a private balance and does not know they need one.

01.

Nobody registers first

The claim carries the setup. A recipient with no viewing key is paid in one transaction.

02.

Nothing reaches a server

The key rides in the URL fragment. Our host never sees it, so it cannot spend it.

03.

Expiry, not limbo

Unclaimed funds return to you on a timer. No unclaimed link is a permanent write-off.

AMOUNT25.00 STRK
Claim with any Wallet
No prior registration needed

One screen, one signature

What the recipient sees is an amount and a button. Everything happens behind that button.

One transaction

Send it once.
They do the rest.

The hard part of private payments is not the cryptography, it is the onboarding step that has to happen before the cryptography is any use. Xenia folds that step into the payment.

Setting a viewing key is phase 0 and an external invoke is phase 7, so both fit in one STRK20 transaction. The recipient never sees a setup step, because there is not one.

The claim opens a note whose amount is measured at execution. The escrow names the figure, so the claimant never has to restate an amount the sender chose.

The link carries a private key. Claiming signs the claimant’s own address, so a claim lifted out of the mempool authorises an address the thief does not control.

Every link has an expiry and a refund path keyed to the sender. Getting your money back is a button, not a support ticket.

STRK20 Batch Execution1 ATOMIC TX
Phase 0: SetViewingKeyAuto-registers user
Phase 1-2: OpenChannelOpens note channels
Phase 5: CreateOpenNotePrepares balance slot
Phase 7: InvokeEscrowCredits private funds
Zero pre-setup required. Recipient signs once.
Privacy, stated precisely

What each party can see

A privacy tool that will not tell you its edges is not a privacy tool. These are ours.

The chain

Sees a hash of the link key and an escrow that holds a balance. Not who created it, and not who it was meant for.

This website

Sees nothing. The key is in the fragment, which browsers do not transmit, and the claim is signed in your browser.

Anyone holding the link

Can claim it. It is a bearer instrument, and we say so on the page rather than in a footnote.

How it works

From link to claim. Nothing in between.

One STRK20 transaction moves the amount out of your private balance and into escrow.

Deposit into Escrow
25 STRK
Leavesyour private balance
Expiresin 7 days
Refund to0x049d…4dc7
Lock funds and get a link
Integrations & Ecosystem

Built on the Starknet frontier.

Seamlessly interoperable with native Cairo contracts, STRK20 tokens, and top Starknet wallets.

See all ecosystem integrations
Xenia
Starknet
Cairo
STRK20
Argent X
Braavos
Cartridge Controller
Next.js
Vercel
Hover over any integration to inspect
FAQ

Questions answered.

Still curious?

Open an issue

A wallet, yes. A configured private balance, no — that is the part Xenia removes. Their first Xenia transaction registers the viewing key and credits the note together.

It is stored in your browser under "my links" so you can re-copy it. If you clear that, wait for the expiry and refund the escrow — the money is on-chain and keyed to your address, not to anything we store.

They can read the transaction, but the signature inside it authorises one specific address. Replaying it pays the person it was already going to pay.

No. It is MIT-licensed and in the repository, the tests are in the repository, and the invariants are written down in the requirements document. Read it before you send an amount that matters.

Network fees, and nothing else. Xenia takes no cut and has no token.

Ecosystem & Compatibility

Works with any Starknet wallet.

Whether your recipient already uses private balances or installed their first wallet five minutes ago.

Starknet NativeAuto-Register Ready

Argent X

Full STRK20 support. Publishes viewing keys directly inside the claim invoke with zero extra prompts.

Zero setup step
Hardware SignerMulticall Verified

Braavos

Supports multi-phase atomic transactions for channel opening and escrow execution in one signature.

Zero setup step
Passkeys & WebAuthnPasskey Native

Cartridge Controller

Onboard and claim private funds using device biometrics with no seed phrase setup barrier.

Zero setup step
Ecosystem StandardEcosystem Standard

Wallet Standard

Works with any @wallet-standard compliant client across browser extensions and mobile apps.

Zero setup step

Pay anyone privately. Even today.

Open source, no fee, no token. Lock an amount against a link and send it the way you would send anything else.

Create a claim link