Unlinked

Pay gas with work, not ETH.

Your browser solves a small proof-of-work puzzle and an ERC-4337 paymaster pays the gas. A fresh address never needs ETH from your main wallet, so no gas top-up ever links the two on-chain.

Fresh accountMine & sendDemo · nothing is sent

Review

Send an amount (hidden on screen)USDG

From
your fresh account (hidden on screen)0 ETH
To
a recipient (hidden on screen)
Gas
$0.00 · sponsored
Funding transaction
None needed
1 thread, capped at 0.3 MH/s
Proof of workReady
—kH/sHashrate
0/8Sub-solutions
Difficulty
2 to the power of 17 hashes each
Elapsed
0.0 s
Expected
~3.5 s
  1. Challenge received—
  2. Work found—
  3. Proof valid, checked in this tab—
  4. Accepted by relayNever sent · demo

The proof appears here. Mining stops at the eighth sub-solution.

  • Robinhood ChainMainnet, chain 4663
  • Arbitrum OrbitNitro
  • ERC-4337EntryPoint v0.9
  • EIP-7702Simple7702Account
  • AltoBundler
  • viemSDK
  • AlchemyRPC

Built on open standards · running on Robinhood Chain mainnet

Privacy shouldn’t start with a funding transaction. Unlinked swaps the ETH top-up for a few seconds of browser work, so a fresh address starts clean and stays unlinked from your main wallet.

  • Fig 0.1

    No funding link

    A fresh address starts with 0 ETH and never receives a top-up from your main wallet.

  • Fig 0.2

    Work, not ETH

    Eight keccak sub-solutions found in your tab replace the gas money as the anti-spam cost.

  • Fig 0.3

    Checked on-chain

    The paymaster verifies every hash against the epoch's target before it pays for the op.

01 · Zero ETH

One top-up. One public link. Permanently.

A fresh address can’t move until it holds ETH for gas. Send it 0.002 ETH from your main wallet and that funding transaction ties the two together on a public ledger. Unlinked never needs it.

How it works
ExampleRobinhood Chain · public ledger

Today

Main wallet0xA1f0…7e3B
Fresh address0x9c4e…a041

With Unlinked

Main wallet0xA1f0…7e3B
Fresh address0x9c4e…a041
Your browserkeccak · 8/8proof
Paymaster0x4E77…9375
Fresh address0x9c4e…a0410 ETH spent
  • No funding transaction

    The fresh address holds 0 ETH before, during and after its first op.

  • ERC-4337 paymaster

    Gas comes from the paymaster's EntryPoint deposit, on-chain.

  • EIP-7702 account

    Same address as the key. No deployment tx: the bundler carries the delegation.

02 · Browser mining

Seconds of work. In your browser.

Your tab searches for nonces whose keccak hashes fall under the paymaster’s target: 8 sub-solutions, the same preimage the contract checks. This panel hashes live, right here.

The proof of work
keccak256(challenge ‖ nonce)Live in this tab

A live stream of keccak256 hashes computed in this tab. Hashes with at least 16 leading zero bits count as sub-solutions.

Sub-solutions0/8
Best— bits
Hashes0
Rate— kH/s

CPU use

  • Web Workers at the thread count you pick. Gentle uses one core.
  • Stops at 8 hits. Nothing runs in the background.
  • Seconds, not minutes: about 3 s for a first op on a mid laptop.
  • WASM keccak, the same preimage the contract checks.

This panel hashes on the main thread at a deliberately tiny rate. The app mines in Web Workers, far faster.

04 · Privacy by default

Redacted on screen, until you hold.

Addresses and amounts sit under redaction bars, so a shoulder or a screen share sees nothing linkable. Hold to read, release to reseal. Your key is made in your tab and never leaves it. Try it on this demo card.

Privacy guide

Fresh account

Demo account · Private view on

AddressDemo address: 0x9c4e1b7f22a05d3e…a041 (hidden on screen)
  • ETH0
  • USDGDemo USDG balance: 1,240 (hidden on screen)
  • NVDADemo NVDA balance: 3.5 (hidden on screen)
Private keyPrivate key, never shown

Press and hold to read. Release, switch tabs or look away, and it reseals.

Who sees what

A gas top-up linking your wallets
Never exists
Your fresh account's key
Only you
Addresses and amounts on screen
Only you
Your IP address and send time
The relay
Your fresh address and its ops
Everyone
Your main wallet's history
Everyone

05 · Assets

Send ETH and tokenized stocks.

Native ETH, USDG, WETH, cbBTC and 195 Robinhood stock tokens, each verified on-chain. The app shows and sends only what your fresh account holds, with sponsored gas.

Open Send

The Send screen lists native ETH, USDG, WETH, cbBTC and 195 Robinhood stock tokens such as NVDA, TSLA and AAPL, each with its logo. Balances stay redacted until you hold to read them. Stock tokens carry a notice: Robinhood stock tokens are not offered to persons in the United States, Canada, the United Kingdom or Switzerland. This app does not check who you are: only hold or send them where you are allowed to.

  • Native ETH

    execute(to, value): the ETH moves, the gas stays sponsored.

  • Pinned implementations

    The relay checks each listed token against its pinned implementation.

  • Jurisdiction notice

    Stock tokens are not offered in the US, Canada, the UK or Switzerland.

06 · For builders

Gasless UserOps, in three lines.

The SDK fetches the epoch, mines in Web Workers and attaches the proof to paymasterAndData. Built on viem, with EIP-7702 accounts. No API key, no signup, no wallet connection.

$ npm i @unlinked/sdk @unlinked/miner viem

import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts'
import { createRelayClient, sendPowUserOperation, startEpochPolling } from '@unlinked/sdk'

const owner = privateKeyToAccount(generatePrivateKey()) // never funded
const relay = createRelayClient(RELAY_URL)
const epochs = startEpochPolling(relay)   // at app start: reads on a fixed schedule
const { receipt } = await sendPowUserOperation({ relay, epochs, owner, call })

// call = claimCall(faucet, token) or transferCall(token, to, amount)
Matches @unlinked/sdk. The full 20-line example is in the quickstart.
mainnet-smoke · Sep 30, 2026
$ npx tsx packages/e2e/scripts/mainnet-smoke.ts
fresh sender (0 ETH, never funded) → 0 USDG → fresh recipient
  mining 8/8
  signing · submitting · included
userOpHash 0x2da1354e05e2…ab8754
success    true
bundle tx  0xe9a85ca0ad58…c670e5 · type 4
sender ETH 0
  • Install the SDK

    npm i @unlinked/sdk @unlinked/miner viem. No API key, no signup.

  • Create a fresh key

    In the browser, never funded. Point it at the relay URL.

  • Send the UserOperation

    The proof rides along in the v0.9 paymasterSignature; the gas is sponsored.

07 · Live on Robinhood Chain

Real numbers, read from the chain.

Every figure here is read from the paymaster contract through a public RPC, refreshed every 30 s. Senders are public on-chain; this page keeps them redacted.

Status and full history
Ops sponsored
—
Median solve, mid laptop
—s
Work per op
not read yet
Treasury runway
—days
Sponsored ops per epoch · last 96Reading the chain…
Recent ops
Reading logs
EntryPoint deposit
—
Treasury
—
Budget in force
—
Gas spent, all time
—

Commitments

What the paymaster does. What it never does.

Six commitments, each one checkable in the contract source and the relay's policy.

Read the contract
  • Not a mixer

    We pay gas for one UserOperation. We never hold, pool or move your tokens. Assets someone sends your fresh account still link that sender to it.

  • Keys stay in your tab

    Your fresh account’s key is generated locally and never sent to us or to the relay.

  • CPU capped

    Web Workers only, at the thread count you pick. Stops once the proof is done. The demos on this page pause when hidden.

  • Funded by its operator

    The operator funds the treasury, and anyone can top it up with fund(). Each epoch gets a capped budget. You never pay per transaction.

  • Rate-limited by work

    Difficulty rises with load, so spam costs CPU time, not your identity.

  • Verified contracts

    Open source, not upgradeable, verified on the Robinhood Chain explorer at deployment. Audit linked when published.

Limits, stated plainly. Live on Robinhood Chain mainnet with a small, capped budget. Proof-of-work is a rate limiter, not a security guarantee: the per-epoch budget is what bounds losses. The relay sees your IP address unless you connect through Tor.

Changelog

  1. Mainnet config tuned

    maxPreVerificationGas set to 300k on the live paymaster, with an early epoch roll so the new config applies at once.

    · 4c0c12d

  2. Live on mainnet

    Relay and Alto bundler online. First sponsored op: a fresh key with 0 ETH, bundled in block 76,756,332.

    · 68c1065

  3. Sponsored ETH sends

    Send native ETH with sponsored gas, plus a verified token list: ETH, USDG, WETH, cbBTC and every Robinhood stock token.

    · e8f9d5f

  4. PowPaymaster deployed

    EntryPoint v0.9, keccak proof of work with 8 sub-solutions, write-once epochs, relay co-signature and an EIP-7702 delegate check.

    · 188425b

A fresh key holding 0 ETH sent its first transaction on Robinhood Chain, and the paymaster paid the gas.
First sponsored op on mainnetSep 30, 2026 · block 76,756,332 · 0x2da135…8754 (explorer, opens a new tab)

0 ETH

sent to a fresh account before its first op. No funding transaction, ever.

Every Unlinked accountGas paid by proof of work

Questions, answered plainly.

More in the docs
Is this a mixer?

No. The paymaster pays the gas of one UserOperation at a time. It never holds, pools or moves your tokens, and it does not hide where tokens came from. It removes one specific link: the ETH top-up a fresh address would otherwise need.

Who pays for the gas?

The paymaster's EntryPoint deposit, refilled from its treasury at each 15-minute epoch with a capped budget. The operator funds the treasury, and anyone can add to it with fund(). You never pay per transaction, and a failed op never costs you ETH.

How much CPU does it use?

Mining runs in Web Workers at the thread count you pick (Gentle uses one core), stops at the eighth valid hash and never runs in the background. A first op takes seconds on a laptop. You can stop at any time: nothing is sent until the proof is done.

Which tokens can I send?

Native ETH, and on mainnet the verified list: USDG, WETH, cbBTC and every Robinhood stock token (NVDA, TSLA, AAPL and the rest), each checked on-chain. The app shows and sends only what your fresh account holds.

Can US persons use stock tokens?

Robinhood stock tokens are not offered to persons in the United States, Canada, the United Kingdom or Switzerland. Unlinked does not check who you are (no KYC, by design), so only hold or send them where you are allowed to.

What does the relay see?

Your IP address, your ops and when you sent them, like any RPC. Never your key: it is made in your tab and never leaves it. Connect through Tor Browser to hide your IP.

Can a GPU farm drain it?

It can use up an epoch's budget quickly: proof of work is a rate limiter, not economic security. The per-epoch budget and an immutable daily cap bound the loss, and honest users wait for the next epoch.

Zero ETH. Zero link.

Available today on Robinhood Chain mainnet. A fresh account's first op takes seconds of mining. No email, no wallet connection.