Jat
DOCS · DEVNET

Jat documentation

Pay privately on Solana, then prove that payment as a one-time on-chain receipt. Any app verifies the receipt through a CPI to unlock access, without linking the unlock to your wallet. Payment first; the gate reads the proof.

The two layers

A payer funds a one-time stealth address derived from your published link, so there is no on-chain link between payer and recipient. This is pure Ed25519 ECDH, no proof. You then deposit into the fixed-denomination pool and withdraw to a fresh address with a zero-knowledge proof, so the payout is unlinked from your specific deposit. The deposit uses fixed denominations, so the denomination tier is public; what the proof shields is the link between deposit and withdrawal, not the amount. A fee relayer pays the gas, so a brand-new address can receive and withdraw without ever holding SOL first. The two layers compose, and you can use one or both.

Use it from the site

Four pages, one round-trip:

  • Receive generates a meta-address in your browser and a shareable seal:pay: link.
  • Pay sends from a connected wallet to a one-time address derived from a link.
  • Claim finds your payments and claims them to an address or into the pool.
  • Withdraw proves ownership in the browser and pays out to a clean address.

The deeper mechanics live on the blog; this section is the how-to.