Finance without intermediaries · Solana devnet

You can disappear,
but not with my money.

TwoKeys is a trust component for marketplaces. Money between strangers waits in a program on Solana, not with a person, and the agreed rule executes itself. For deposits that's the Polish zadatek (art. 394): back out and you pay; disappear and the other side is made whole, automatically.

Deal · Zadatek
Toyota Corolla 1.8 Hybrid
Payment secured
Buyer locked
1,000 USDC
Seller locked
1,000 USDC
Handover deadline00:47
Buyer confirmedSeller pending
Seller backs out → buyer gets 2,000
Both confirm → seller gets 2,000
Offers created
Deals completed
Volume completed
0 bytes
Personal data on-chain
The problem

A bank transfer to a stranger is a leap of faith.

Fake listings

Scammers post a great car or flat, collect deposits by bank transfer, and vanish.

The law exists…

Zadatek says a seller who backs out pays back double. On paper.

…but nobody sues

For a few thousand złoty, court is slower and costlier than the loss.

How it works

Mutual collateral. Two signatures. Zero middlemen.

01
Seller locks a stake

Equal to the deposit. A scammer has to put their own money on the line, so they don't.

02
Buyer reserves

Opens the link, locks the deposit. The seller sees “Payment secured” instantly.

03
Meet & confirm

At the handover both press Confirm. Funds release to the seller as part of the price.

04
Or the rules decide

Someone disappeared? After the deadline anyone, even a stranger, can apply the payout the rule prescribes. No intermediary.

Legal templates

The law, as code.

Two templates cover most deposits. Zadatek punishes whoever backs out. Zaliczka is a refundable advance. Country and sector templates are parameterised versions of these two.

Example: 1,000 USDC deposit, 1,000 USDC seller stake.

What happensZadatek: buyer / sellerZaliczka: buyer / seller
Both confirm0 / 2,0000 / 2,000
Buyer backs out0 / 2,0001,000 / 1,000
Seller backs out2,000 / 02×1,000 / 1,000
Buyer no-show0 / 2,0001,000 / 1,000
Seller no-show2,000 / 02×1,000 / 1,000
Nobody confirms1,000 / 1,0001,000 / 1,000
Arbiter decidessplit by bpssplit by bps
Same program, four templates

One component, every sector.

A template only fills in the parameters: who locks what, what happens to whoever backs out, and where the money goes when both confirm. The on-chain rules are identical for everybody.

For marketplaces

One script tag. Every listing protected.

Car portals, rental platforms, classifieds: drop in the widget and your users get enforceable deposits with no escrow licence, no custody, no payment processor in the middle.

index.html
<script src="https://your-twokeys-host/widget.js"
        data-platform="2CxboToKDAxR…"
        data-listing-id="abc123"
        data-amount="2000"
        data-template="deposit"></script>

One component. Every marketplace, every sector, every country.