LatePrintLatePrint
Unlit venue · Robinhood Chain · 4663

Nobody sees the trade.
Everyone sees the print.

A non-displayed venue on Robinhood Chain. Positions private while they're live, provable after they're closed.

$PRINT not launchedRobinhood Chain · 4663𝕏 @lateprint
The contract address prints here after the audit. Anything you see before that is not ours.
pre-launch · calculator
Print delay

Committed before you open. It cannot be changed after you see the result.

Vault opens after the audit · see when
fee0.25% · 0.0025 ETHflat, every tier
into vault0.9975 ETH
sender on-chainthe vaultsame address as everyone
print publishes24 hours after you close
withdraw todepositing addressor the allowlist registered at deposit — nowhere else
200 OKquote is arithmetic, not a market
0.25%
Fee, flat for every tier
1
Sender address for every trade
24h
Default print delay, owner-set
0
Admin keys, pause switches, upgrade paths
Contract address · $PRINT on Robinhood Chain
Pre-launch

Prints here after the audit report is published — not before. The address is announced on @lateprint and on this page. Anywhere else, it is not ours.

Follow @lateprint
What the room does

Three things, one vault

Position privacy while you are exposed. Proof once you are not. A free way to find out why you need either.

The vault

One address trades for everyone.

Deposit once. Every trade after that executes from the vault's own address, so on-chain there is one large book and no line of it belongs to anyone.

  • Deposits public, positions not
  • Batches released on a randomised window
  • Same-owner withdrawals, enforced by the contract
  • No admin, no pause, no upgrade path
The print

Proof that publishes late.

Close a position and a signed, verifiable receipt drops on the delay you committed to before opening — an hour, a day, a week, or never.

  • Return, hold time, Merkle proof
  • Never your address or balance
  • Delay committed before, not after
  • Losses print too
The scanner

Is anyone copying you?

Paste an address, no wallet, no signup. Read who repeatedly bought after you, how far behind, and which position they copied hardest. Clean results are reported as clean.

  • Chain data only
  • Free, forever, un-degraded
  • Live now, before the vault
  • Nothing stored, ever
The loop, end to end

Eight steps. Two are public on purpose.

The chain records that you funded the vault and that you withdrew from it. It records nothing about what you did in between.

01
Depositpublic

You send ETH or USDG to the vault from your own address. This step is public and we never pretend otherwise: the chain records that you funded the vault, and nothing about what you do next.

02
Note

The deposit becomes a note — a commitment in the vault's Merkle tree, bound to your depositing address.

03
Trade

You submit an intent. The vault executes it against Robinhood Chain pools. The transaction's sender is the vault: the same address for every user, every trade.

04
Batch

Intents are collected and released in batches on a randomised window, so arrival time cannot be matched to execution time.

05
Hold

The output becomes a new note. On-chain there is one large book and no way to attribute any line of it to any depositor.

06
Close

You exit the position. It becomes a note again.

07
Print

A signed, provable record of that round trip publishes on your timer: 1 hour, 24 hours, 7 days, or never.

08
Withdrawpublic

Funds leave only to the address that deposited them, or to an allowlist you registered publicly at deposit time.

The honest list

What is hidden. What is not.

Anyone who tells you a public blockchain can hide more than this without a proof system is selling something.

Hidden while the position is live
  • Which position belongs to which depositor
  • Your balance inside the vault
  • What you hold, what you sold, what you are still in
  • Your entries and exits while a position is live
  • Any link between one print and another, unless you link them
Still visible, and stated before you deposit
  • That you deposited to the vault, and how much
  • That you withdrew from it, and how much
  • The vault's total book, in aggregate, at any moment
  • Every trade the vault makes — just not who asked for it
  • The sequencer sees transactions before ordering. True of every app on this chain
  • In Phase 0, the relayer sees who authored an intent. It cannot move funds to anyone you did not register — but it can refuse to sign; the 30-day escape hatch covers a relayer that goes silent
The one hard boundary

Money only ever comes home

Value entering the vault from address A can only leave to address A, or to an address A registered publicly the moment it deposited. Enforced by the contract — not by policy, not by a form, not by our discretion.

This rule is not a setting. Adding a “send to another address” feature would change what the product is. It will not be added.

DEPOSIT
Public, from your own address

Amounts snap to standard denominations so size alone is a weak fingerprint. You register withdrawal addresses now; that list is public and permanent per note.

TRADE
Executed by the vault, in a batch

The transaction's sender is the vault — the same address for every user, every trade. Intents release on a randomised 30 s – 5 min window.

WITHDRAW
Only to the address that deposited

Or to the allowlist it registered at deposit. No path exists to anyone else, including us. No withdrawal fee.

What it costs us: no transfer privacy. A whole category of demand walks away, on purpose.
What it buys us: zero third-party value transfer. Closer to a brokerage account than a mixer.
The batch · why timing matters

Give your position a dark room

The naive version of this product is trivially broken: an address deposits 4.0 ETH at 12:00:03 and the vault buys 4.0 ETH of one token at 12:00:06. No cryptography was defeated — a clock did the work.

One vault + a randomised batch = a trade nobody can attribute

Randomised release
30 s – 5 min between intent and execution, never a fixed delay
Grouped execution
A batch executes as several pool interactions that do not map 1:1 to intents
Standard denominations
Deposits snap to fixed sizes, so amount alone is a weak fingerprint
Minimum dwell
A note cannot trade in the same window it was funded
The warning
A distinctive amount plus an immediate trade gets a warning before you confirm
a model, not a measurement
120
8
Your deposit
Guess which note is yours
1 in 120
0.83% by chance
Match your deposit to a trade
1 in 8
12.5% by timing alone
The print · deferred publication

Invisible while you're exposed. Provable afterwards.

A print is a signed statement about one closed position. You set its delay before you open — choosing after you see the result would make the tape a highlight reel. Committing first is what makes it a record.

1h · 24h · 7d · never
Viewing key, held by you
Merkle proof vs vault state
No address, ever
Read how a print is built
print.jsonprooftape
{
  "asset":      "<token>",
  "return_bps": <entry → exit, %>,
  "held_s":     <how long it was held>,
  "proof":      "<merkle path vs vault>",
  "release_at": "<committed before open>",
  "pseudonym":  "<optional · unlinkable>"
}
never present: your address · your balance · your other positions · any link to another print, unless you choose it
always present: the asset · entry and exit, in percentage terms · how long it was held · a proof that these notes existed in the vault's state · the release time the owner committed to in advance
The tape

Reputation without identity

Reputation is usually built by being watched. Here it is built by publishing, later, on purpose. A pseudonym accumulates prints, hit rate, median hold and largest drawdown — and nothing connects it to an address without a viewing key you handed over.

Losses print too

A tape that only prints winners is a brochure. Hit rate is shown against every position a pseudonym opened, not the ones it chose to release — and “never” is a visible choice.

printed / openedthe print rate
median holdper pseudonym
largest drawdownprinted, not hidden
transferableno
Attack
Defence
Print only the winners
The delay is committed before the position opens. “Never” is a visible choice, and a pseudonym's print rate is published beside its returns.
Open ten, keep the one that worked
Hit rate is shown against total positions opened under that pseudonym, not prints released.
Wash-trade a fake return
Returns come from executed pool prices, and round trips inside one batch are excluded.
Farm tiny positions for a high hit rate
Prints below a minimum notional are recorded but do not count toward ranking.
Buy a good pseudonym
Pseudonyms are bound to their notes and cannot be transferred.
The scanner · live

Is anyone copying you?

A free scan, no wallet, no signup, built from public chain data only. It creates the realisation the product depends on — and if the result is clean, it says so. A scanner that always finds a problem is an advertisement.

Followers addresses that bought the same token from the same pool within 5 minutes of you, 3+ different tokens
Median lag how far behind your fill they land, in seconds
Fast follows how many of their fills landed within 60 seconds of yours
Most-shadowed the position that got copied hardest, and by how many

Live now, before the vault. Public data only; nothing is stored. Mention @lateprint if it finds something.

$PRINT

Stake buys capacity. Never a discount, never privacy.

The fee is the same for everyone. The anonymity set is shared, not sold. The token buys resources we have to provision anyway — and it launches only after the audit report is public.

OPEN
0 $PRINT
fee 0.25% · same as every tier
balance cap5 ETH
withdraw addresses1
  • Full vault access
  • Market intents
  • Standard batch position
DESK
250k $PRINT
fee 0.25% · same as every tier
balance cap25 ETH
withdraw addresses2
  • Limit orders inside the vault
FLOORmost desks
1M $PRINT
fee 0.25% · same as every tier
balance cap100 ETH
withdraw addresses3
  • Priority ordering within a batch
  • Scheduled prints
HOUSE
5M $PRINT
fee 0.25% · same as every tier
balance capnone
withdraw addresses5
  • Raised API limits
  • Programmatic intents
Never
A fee discount

A tiered discount means the largest holders pay the least, so revenue falls exactly as the token succeeds.

Never
Better privacy

The anonymity set is a shared good. Selling a bigger set to large holders makes new users weaker at the moment they are most exposed.

Never
A claim on revenue

$PRINT buys capacity and features. It confers no ownership, no revenue right, no vote over the same-owner rule.

Token facts
Supply1,000,000,000
Distribution100% fair launch
Team allocationnone
Mintabsent — supply cannot grow
Burnpresent — burns lower supply
Launch gateaudit report published first
Fees and burns

One fee. Sixty percent of it leaves circulation.

Nothing the relayer can see is ever sold — not order flow, not scanner data. Permanently off the table, and the docs say so.

01
Trading fee
at launch

0.25% of notional on every executed intent, charged inside the vault at execution, identical for every user and tier. Printed in the quote before you submit.

02
Verify API
later

Programmatic viewing-key verification for desks and funds. Per-call pricing, no account relationship required.

03
Scanner Pro
later

The free scan stays free and un-degraded. The paid tier watches an address continuously and alerts on new followers.

$
× 0.25% = $625 in fees · a number you set
60% Buy & burn$375

Fee assets are swapped to $PRINT on Robinhood Chain and burned. Every burn posted with its hash, weekly.

25% Treasury$156

Audit, the zero-knowledge circuit, relayer gas, infrastructure, the people building it.

15% Reserve$94

Incident response. Balance published. A commitment, not an insurance policy — the docs say exactly that.

Fees are collected inside the vault at execution in the input asset. The burn is weekly, the hash is public, the timing is not discretionary. This is arithmetic on a number you typed, not a forecast.

The stack

Four parts. One can move money.

The relayer pays gas and orders batches. The vault holds funds. Nothing else touches them, and the contract has no admin path for us either.

Browser

Wallet signing. Viewing key derived locally, never transmitted. Positions render client-side.

Relayer

Collects intents, forms batches, randomises release, pays gas. No privileged path to funds.

Vault contract

Holds deposits, keeps the note tree, enforces same-owner withdrawal, executes swaps, emits print commitments.

Indexer

Builds the tape from released prints. Serves aggregates only. Powers the scanner from public chain data.

Vault.solRelayerIndexer
can
  • accept deposits and record note commitments
  • execute batched swaps against approved pools
  • release withdrawals to registered addresses only
  • record print commitments with their release timestamps
cannot, by absence
  • no owner, no admin, no pause, no upgrade proxy
  • no sweep, no fee-recipient change
  • no path that moves a user's value to a non-registered address — including for us
  • no way to alter a print's committed release time
The pool allowlist is the one exception and it is immutable at deploy. New pools mean a new deployment and a voluntary migration. That is deliberately inconvenient.
The road

Product first. Audit second. Token last.

Every phase has a done-when. Nothing on this page is written in the present tense that is not already true.

Phase 1
Prove the execution path
  • · Fork-test pool hooks, contract-initiated swaps, real slippage
  • · Vault v0: deposits, notes, same-owner withdrawal, batches, no admin surface
  • · Adversarial timing test against our own testnet traffic
done 2026-09-16
Phase 2
Ship the funnel
  • · Landing page, docs, the honesty page — live
  • · The scanner — free, public, chain data only — live
  • · The tape, seeded with labelled testnet prints — pending the vault
now
Phase 3
Audit and mainnet
  • · External audit, report published in full
  • · Mainnet with deliberately low caps
  • · Prints and the viewing-key reader live
next
Phase 4
$PRINT
  • · Fair launch on the chain's launchpad
  • · Staking for capacity tiers
  • · Burn ledger live from the first week of fees
after phase 3
Phase 5
Blind the relayer
  • · Zero-knowledge circuit: ownership proof + nullifier
  • · Relayer orders traffic it cannot read
  • · Voluntary migration; Phase 0 notes keep working
months 4–8
Phase 6
The desk
  • · Limit orders resting inside the vault
  • · Verify API, Scanner Pro, programmatic intents
months 6–12
Honest take

Where this wins, where it can lose

Strengths
  • Privacy improves with every depositor — a real network effect a later competitor starts without
  • We own the contract. Not an API key, not a partner integration
  • The same-owner rule makes this structurally not a mixer, legible to anyone who reads the code
  • A pseudonym's printed record cannot be imported anywhere else
  • The scanner and the prints distribute the product as a by-product of using it
Risks
  • The vault holds funds. An audit reduces that risk; it does not remove it
  • Privacy is weak until the set is large, so the earliest users get the least protection — the app must keep saying so
  • Chain liquidity is thin; vault-executed trades will show slippage that gets blamed on us
  • The sequencer sees flow before ordering. No application on this chain can change that
  • Phase 0 asks you to trust a relayer not to log. Cryptography replaces that trust in Phase 5, not before
What we watch
Anonymity set
active notes — the product's quality metric, published live
Median batch size
below 4 the privacy claim weakens and the UI says so
Deposit → first intent
the timing exposure we most need to keep high
Print rate per pseudonym
prints released ÷ positions opened
Fee → burn
weekly, with hashes

Deliberately not watched: token price, follower counts, anything a screenshot can inflate.

Position privacy, not transfer privacy
Transfer privacy is a crowded commodity. Position privacy is a daily pain with no product serving it.
Same-owner withdrawals only, on-chain
Removes the mixer problem entirely. Costs us a category of demand we do not want.
0.25% flat, no tier discounts ever
A discount tier means revenue falls as the token succeeds.
Stake buys capacity, never privacy
The anonymity set is a shared good and must not become a market.
Ship Phase 0 and say the relayer can see
Waiting for the circuit means shipping nothing for months while claiming privacy anyway.
Print delay committed before opening
Choosing after the result turns the tape into a highlight reel.
Token only after the audit
The vault holds user funds. Launching first asks for money against unread code.
No admin, no pause, no upgrade
Nothing to trust beyond the code. Nothing for us to be pressured into using.
FAQ

Asked before it launches

Is this a mixer?+

No. Value that enters from an address can only leave to that address or an allowlist it registered publicly at deposit. There is no way to move funds to a third party, including for us. That constraint is enforced by the contract and it is what the product is.

So what is actually hidden?+

Which position belongs to which depositor, for as long as the position is live. Deposits and withdrawals are public; the vault's aggregate book is public; the vault's trades are public. The attribution is not.

Can you see my trades?+

In Phase 0, the relayer that orders batches can see who authored an intent. It cannot move funds. This is stated before your first deposit, not in a footnote. Phase 5 replaces that trust with a proof the relayer cannot read.

Why would I ever publish a print?+

Because a burner wallet destroys the one thing worth keeping: a record you can prove. A print is invisible while you are exposed and verifiable afterwards. You choose the delay before you open, so the tape is a record, not a highlight reel.

What does $PRINT do?+

It buys capacity — balance caps, withdrawal-address slots, priority, limit orders, API access. It never buys a fee discount and it never buys better privacy.

When is the token?+

After the vault's external audit is published. Not before.

What happens if the vault is hacked?+

A reserve funded by 15% of fees exists for incident response, with its balance published. It is small and it will not cover a worst case. Deposit only what you can afford to lose entirely.