IRL3 Documentation
Where real objects meet the blockchain.
IRL3 is open-source technology that turns things you can hold into things that live on-chain. Scan an object, and it can become a crypto wallet that only that object opens, or a token that stands for every object of its kind and colour, anywhere in the world.
- 3 chains
- Solana, EVM and Bitcoin from one object
- 117 kinds
- of objects the scanner can name
- 80 / 20
- creator fees: creator or holders / IRL3
- 100%
- of IRL3's SOL share buys and burns $IRL3
The idea
IRL → Web3
Most of what we value is physical. Most of Web3 is not. IRL3 builds the bridge in the other direction: instead of putting the world behind a screen, it lets the world itself carry keys, tokens and rewards.
A crypto wallet is, in the end, a secret number. Today that number lives in a seed phrase on paper, in an app or on a hardware device. IRL3 asks a different question: what if the secret were the object itself? A scratched lighter, a signed sneaker, a mug with a sticker: every real object carries detail no one else's copy has. IRL3 reads that detail with an ordinary camera and turns it into a key, without ever storing the key.
Tokens work the same way. An object token is not tied to one person's item but to a kind of thing in a colour: a pink banana, an orange lighter, a white mug. There can only be one token for each. Its holders are rewarded from the token's trading fees, and to claim they have to show the object to their camera, live. A token you can only fully use with the real thing in your hand.
- Physical first. The object is the key, the proof and the meaning. Screens only read it.
- On your device. Camera pictures are processed in your browser. Keys are rebuilt on the spot and never leave it.
- Open and checkable. The wallet and the object scanner are open source; every fee, payout, buyback and burn is a public transaction.
- Aligned. IRL3 earns a fixed 20% of creator fees, and its SOL share goes to buying and burning $IRL3.
Architecture
How it works
One camera, two products. The same on-device engine reads an object two ways: by what makes it unique, and by what it is.
Swipe to see the whole schematic →
A real object is read by the camera, on the device. What makes it unique becomes a wallet key; what it is (its kind and colour) becomes a token.
| Part | What it does |
|---|---|
| IRL3W Wallet | Turns an object and a secret name into a wallet with Solana, EVM and Bitcoin addresses. Scanning it again opens the same wallet. |
| Launch | Creates a token on pump.fun for an object (kind and colour) or a standard token with your own picture, with its creator fees locked to IRL3. |
| Scan the World | Point the camera at anything: it names the object and shows its token, or lets you launch one. |
| Object Library | The objects you scanned, kept in your browser, ready for your next token. |
| Payments | Every fee collection, payout, buyback and burn, each with its transaction. |
| Analytics | Volume, fees, new tokens, wallets and objects, the most scanned objects and the burn, day by day. |
IRL3W Wallet
Object wallets
Give an object a secret name and scan it: it becomes a wallet. Scan the same object with the same name, on any device that has its key box, and the same wallet opens.
Swipe to see the whole schematic →
The camera proves a live 3D object and reads its surface details; the secret name seals the key box and is mixed into the seed. The seed is rebuilt on every scan and never saved.
The scan
- 1Prove a real objectA guided live check: hold still for a random moment, turn the object, hold again, then show a side. Motion is tracked live and depth is measured, so a photo, a screen or a recording fails.
- 2Cut it outThe object is separated from the table behind it and from the hand holding it (SlimSAM on computers, GrabCut on phones). Only the object's own surface can count.
- 3Read what makes it uniqueHundreds of surface details (ORB features) and where they sit: print, texture, scratches, stickers, signatures.
- 4Lock or open the keyA new object locks a brand-new random key into a fuzzy vault. A known object opens it: enough matching details rebuild the key exactly.
The fuzzy vault
Two scans of the same object are never identical, so the key cannot simply be computed from a picture. IRL3 uses an aligned fuzzy vault: a random secret polynomial is split into pieces, each piece locked to one surface detail and hidden among decoys. A new scan lines its details up with the vault and recovers the pieces it can. Once 120 pieces agree, the polynomial and with it the wallet seed are rebuilt, and errors are corrected along the way.
| Vault parameter | Value |
|---|---|
| Field | GF(2²⁴ − 3), 16,777,213 elements |
| Threshold | 120 pieces rebuild the secret |
| Tables | 8 independent lookups per detail, 12-bit detail tokens |
| Decoys | one decoy per real detail, 8-bit tags |
| Decoding | Lagrange interpolation, then Berlekamp–Welch error correction |
| Seed check | a SHA-256 commitment confirms the rebuilt seed |
| Box size | about 0.5–0.8 MB per wallet |
The secret name
The secret name is typed on every scan and never stored. It is stretched with scrypt (N = 2¹⁶), which makes every guess slow and expensive. It does three things: it gives the key box a public name to be found by, it seals the box with AES-256-GCM, and it is mixed into the wallet seed. The same object under two names is two different wallets.
One seed, three chains
| Network | How the key is made |
|---|---|
| Solana | the seed is the ed25519 private key seed; the secret key exports in base58 |
| EVM | HKDF-SHA256 → secp256k1; one 0x address on Ethereum, Base, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche… |
| Bitcoin | HKDF-SHA256 → secp256k1; native SegWit bc1q… address, WIF export |
Object tokens
One object, one token
An object token stands for a kind of object in a colour: a pink banana, an orange lighter. Personal marks do not matter here; what the object is does.
- Kind: one of 117 everyday kinds the scanner can name (lighter, mug, sneaker, banana, keyboard…), or a kind you type when none of the guesses fits.
- Colour: one of 15 colour names, read from the object's own pixels (skin is ignored), voted over several views.
- Unique: there is only one token per kind and colour, anywhere in the world. The check happens when you launch and again in the database, so two people can never launch the same object.
- Drawn: the token's picture is the object's line drawing, made by the scanner, centred on black.
Standard tokens
Not every token needs an object. A standard token uses your own picture (cropped square to 512 px) and has no kind or colour. Everything else is the same: pump.fun, the locked creator fees, the 80/20 split, and holder rewards. A standard token in holders mode still names a claim object, which its holders scan to claim.
Pairs and creator fee
| Pair | Creator fee per trade |
|---|---|
| SOL | 0.3%, fixed |
| WBTC | 0.05–3%, set by the creator (1% by default) |
| ETH | 0.05–3%, set by the creator (1% by default) |
Who receives the fees
- Creator mode: the creator claims the 80% share with a wallet signature, at any time.
- Holders mode: the 80% share goes to the token's holders in 10-minute rounds, claimed by scanning the token's object. See holder rewards.
Launch
Launching a token
Launching takes a few taps and one or two signatures in your own wallet. You are the token's creator on pump.fun; IRL3 never holds your keys.
Swipe to see the whole schematic →
Every IRL token is created on pump.fun by its deployer, with its creator fees routed, for good, to IRL3's factory. IRL3 lists a token only after reading that lock on chain.
- 1Choose the typeObject token (scan an object) or standard token (your own picture).
- 2Pick the objectScan it, or choose one from your Object Library. If a token already exists for that kind and colour, the launch page shows it instead.
- 3Fill in the detailsName (up to 32 bytes), ticker (up to 10 capitals and digits), pair, fee owner (creator or holders), optional dev buy, X and Telegram. The website is the token's IRL3 page unless you set your own.
- 4SignYour wallet signs in once (a free message), then signs the launch: create and fee sharing in one transaction, or two when there is a dev buy. The cost is about 0.02 SOL plus the dev buy.
- 5ListedIRL3 reads the token on chain. Once its fee lock is confirmed, it appears on Explore with its own page.
The fee lock
Every IRL token is created with pump.fun's create_v2 and a fee-sharing configuration whose only shareholder, at 100%, is IRL3's factory wallet, with admin rights revoked. From then on no one, not the creator and not IRL3, can redirect the fees. IRL3 checks this on chain before listing a token and keeps checking it: if a token's lock ever changed, its later fees would no longer count and IRL3 would be alerted.
Addresses that end in pump
Token addresses come from a pool of pre-generated vanity keys ending in pump, kept encrypted on the server and reserved for 10 minutes while you sign. A reserved address that was not used goes back to the pool. Pictures and metadata are pinned on IPFS.
Fees & payouts
Creator fees
Every trade of an IRL token, on the bonding curve or after graduation on PumpSwap, pays a creator fee. That fee is the engine of the whole system.
Swipe to see the whole schematic →
Every trade pays a creator fee into the token's fee-sharing vault. The factory collects it every 5 minutes: 80% belongs to the creator or the holders, 20% to IRL3, and IRL3's SOL share buys $IRL3 and burns it.
- 80%
- to the creator or the holders
- 20%
- to IRL3
- 5 min
- between collections
- 60 s
- between ledger updates
Collection
Fees build up in each token's own fee-sharing vault. Every 5 minutes the factory triggers pump.fun's permissionless distribution, which moves them to the factory. Fees are counted from the chain itself: IRL3 reads every trade of every listed token and records only fees paid to that token's locked configuration. Graduated tokens keep earning on PumpSwap.
Claiming
- Creators sign a short message in their wallet (valid for 5 minutes). The factory first collects what is waiting, then pays only what has reached it, in one transaction.
- Holders claim by scanning the token's object (see holder rewards).
- Minimums: 0.002 SOL, 0.00001 WBTC or 0.0003 ETH per claim.
- First WBTC or ETH claim: a wallet without a token account for that asset needs at least $5 to claim, because IRL3 pays the account's rent. IRL3 also pays the network fee of WBTC and ETH payouts.
Holders mode
Holder rewards
In holders mode, the 80% share belongs to the people who hold the token, round after round. To claim, they show the object, live.
Swipe to see the whole schematic →
Each round shares 80% of the fees it saw among holders worth $20 or more. A balance counts at the lower of what it was at the last round and what it is now, so buying just before a round does not pay; selling counts at once.
| Rule | Detail |
|---|---|
| Round | every 10 minutes |
| Pool | 80% of the creator fees recorded during the round |
| Eligible | holdings worth at least $20 |
| Counted balance | the lower of the balance at the last round and the balance now |
| Share | pro rata to the counted balance, rounded down |
| Left out | the token's creator, the bonding curve, the PumpSwap pool and program-owned accounts |
| Nobody eligible | the pool waits; later rounds release their own pool plus a fifth of what waits |
| Price | read from the token's bonding curve or PumpSwap pool on chain; if none is available the round waits |
Claiming with the object
Swipe to see the whole schematic →
Holders of a holders-mode token claim by scanning the token's object live. The phone checks first; the server measures the same views again before anything is paid.
To claim, a holder signs a message and scans the token's object with the live check. The kind must be among the scanner's top guesses and the colour must match, first on the device and then on the server, which measures the same views again, including depth. Every picture's fingerprint is kept, so the same pictures cannot be used twice. The camera pictures themselves are never published.
Scanner
Scan the World & the Object Library
Point your camera at anything. IRL3 finds the object, says what it is and its colour, and shows its token, or lets you launch the first one.
Swipe to see the whole schematic →
The scanner runs continuously on the camera feed. It locks on only when several views agree on the same kind and colour, then follows the object as it moves.
- Finding: DINOv2 looks at the frame in 16 × 16 patches and picks out the object; brackets follow it as it moves.
- Naming: MobileCLIP compares the object with a table of 117 kinds (zero-shot, judged in greyscale so colour does not bias the kind) and votes over several views.
- Colour: the object's main colour cluster in the CIE Lab colour space, named among 15 colours.
- Lock: once views agree, the badge shows the object's token, IRL3's demo tokens, or a button to launch one.
- No camera on your computer? Scan the QR code with your phone: the phone scans and the computer shows the result. The link carries its own encryption key, so the server only ever relays encrypted data.
Object Library
Every object you scan for a token can be saved to your library: its line drawing, kind and colour. The library lives in your browser only; download objects as files to keep them or move them to another browser. IRL3's pink banana is everyone's demo object.
$IRL3
The $IRL3 token
$IRL3 is the token of the IRL3 network. Its purpose is simple: every trade of every IRL token, anywhere, feeds a continuous buyback and burn of $IRL3.
Buyback & burn
- 1IRL3 earns its share20% of every IRL token's creator fees reaches the factory. Its SOL share is what buys $IRL3.
- 2Every 10 minutes, a buybackIRL3's own SOL (its share, less what it paid for others' network fees and token accounts, less earlier buybacks) buys $IRL3 through Jupiter, on the bonding curve or on PumpSwap.
- 3Everything bought is burnedThe factory burns every $IRL3 it holds, with the SPL burn instruction. Burned tokens are gone for good.
- 4Every step is publicEach purchase and each burn is recorded with its transaction and shown on Payments and Analytics.
| Rule | Value |
|---|---|
| Share used | 100% of IRL3's SOL share of creator fees |
| Frequency | every 10 minutes |
| Per run | at least 0.01 SOL, at most 1 SOL, so a large balance is spread over many runs |
| Never touched | what the factory owes creators and holders, and a reserve for network fees |
| Route | Jupiter, 3% slippage limit |
| Interrupted run | recorded step by step and finished on the next run |
Proof
Transparency
Everything that moves value is a public transaction, and IRL3 shows them all.
- Payments: totals per asset (collected, paid out, waiting, IRL3's share), the factory's balance, the buyback and burn, and a feed of every collection and payout with its Solscan link. Filter by wallet or token.
- Analytics: 90 days of volume, fees, new tokens, wallets and objects, the top tokens, the most scanned objects and colours, and $IRL3 burned per day.
- Token pages: every token's creator fees, its top holders, its latest trades with their transactions and wallets, and, in holders mode, its rounds and rewards.
Security
Security & privacy
IRL3 is built so that the things that matter most never leave you: your keys, your secret names and your camera pictures.
| Area | How it is protected |
|---|---|
| Wallet keys | rebuilt in your browser on each scan, never stored, never sent |
| Secret names | never stored; scrypt makes each guess slow |
| Camera pictures | processed on your device; a holder claim sends a few views for checking, which are never published |
| Your wallet | you sign every transaction yourself; a sign-in is a free message, valid 7 days |
| Fees | locked on chain to the factory with admin rights revoked, checked before listing and after |
| Payouts | signed, recorded, then sent and followed to confirmation; never paid twice |
| Phone handoff | end-to-end encrypted; the key stays in the link and never reaches the server |
| The API | rate limited, and only reachable through the site |
| Monitoring | IRL3 is alerted at once if the factory runs short, a payout stalls, a job stops, a fee lock changes or a buyback fails |
Open source
Run it yourself
The heart of IRL3, the object wallet and the object scanner, is open source under the MIT license. Both apps run entirely on your own computer: no account, no server, no database.
IRL3W Wallet
hermitdevo/irl3w-wallet
Turn any object into a crypto wallet, locally. The same scanner, live check, fuzzy vault and key derivation as irl3.tech.
- Scan: secret name, live 3D check, wallet found or created
- Solana, EVM and Bitcoin addresses and key export
- Wallets: rename, export, import and delete key boxes
- Phones on your Wi-Fi via npm run dev:lan
git clone https://github.com/hermitdevo/irl3w-wallet.git cd irl3w-wallet npm install npm run devView on GitHub
IRL3 Objects
hermitdevo/irl3-obj
Create objects and scan the world with your camera, locally. The same recognition, colour and line-art engine as irl3.tech.
- Scan the World: live recognition with lock-on
- Create objects: kind guesses, colour, line drawing
- Object Library: download, import, delete
- Add your own object kinds with npm run kinds
git clone https://github.com/hermitdevo/irl3-obj.git cd irl3-obj npm install npm run devView on GitHub
Both need Node.js 20.9 or newer and a recent browser; WebGPU makes them faster. On first use they download the recognition models from Hugging Face, then run from the browser's cache.
Technology
The technology behind IRL3
Every part of the stack, and what it does.
On-device vision
- DINOv2-small (ONNX)
- finds the object and describes its look, in 16 × 16 patches
- SlimSAM
- cuts the object out pixel by pixel on computers
- MobileCLIP-S0
- names the object's kind, zero-shot, against 117 kinds
- OpenCV.js
- ORB features, homographies, GrabCut on phones, depth checks
- transformers.js + ONNX Runtime Web
- runs the models in the browser, on WebGPU or WebAssembly
Cryptography
- Fuzzy vault
- GF(2²⁴ − 3) secret sharing with Berlekamp–Welch decoding
- scrypt
- stretches the secret name (N = 2¹⁶)
- AES-256-GCM
- seals key boxes and encrypts phone handoffs
- HKDF-SHA256
- derives the EVM and Bitcoin keys from the seed
- ed25519 · secp256k1
- Solana, EVM and Bitcoin keys and signatures (@noble/curves, @noble/hashes)
Solana & on-chain
- pump.fun (create_v2, fee sharing)
- token creation, bonding curve and fee distribution
- PumpSwap
- trading and fees after graduation
- Jupiter
- routes the $IRL3 buyback
- @solana/web3.js · SPL Token
- transactions, token accounts and the burn (Token-2022 aware)
- Solana wallet adapter
- connects Phantom, Solflare and other wallets
- IPFS (Pinata)
- token pictures and metadata
Application
- Next.js 16 · React 19
- the site and its API
- Tailwind CSS 4
- styling
- PostgreSQL
- tokens, fees, rounds, claims, buybacks
- IndexedDB · localStorage
- key boxes and the Object Library, in your browser
- sharp
- checks and re-encodes pictures on the server
- Vitest
- tests for the vault, derivations, payouts and rounds
Infrastructure
- Vercel
- serves the site
- Railway
- the backend, its jobs and the PostgreSQL database
- Solana RPC
- reads and sends transactions
- Telegram
- alerts for the team
Data sources
- The Solana chain
- trades, fees, balances, holders and holder-round prices, read directly
- DexScreener · pump.fun
- market data, and fallback prices when the chain cannot be read
- CoinGecko
- USD prices of SOL, ETH and BTC
- Solscan
- links to every address and transaction
- Hugging Face
- where the browser downloads the models from
Questions
FAQ
Can two people open the same object wallet?
Only with the same object (or one that looks the same), the same secret name and the key box. A personalized object and a long name make a wallet yours alone.
What if I lose my phone?
Nothing is lost if you kept a backup of the key box: import it on another device and scan the object with its name.
Can someone else launch a token for my object?
There is one token per kind and colour, worldwide. If an orange lighter token exists, nobody can launch another, including you.
Can the creator or IRL3 change where fees go?
No. The fee-sharing configuration is locked to the factory with admin rights revoked at creation, on chain.
Why do I need to scan the object to claim holder rewards?
Because holder tokens stand for a real object. Showing it, live, is the proof that you hold the thing as well as the token.
When does the $IRL3 buyback start?
As soon as $IRL3 launches and its address is set. Until then IRL3's share gathers in the factory and is spent a little at a time.
Does IRL3 see my camera?
No. Scans run in your browser. Only a holder claim sends a few views of the object to be checked, and they are never published.
Please read
Risks
- IRL3 is experimental software, provided as is, without warranty of any kind. Use it at your own risk.
- Tokens, including $IRL3, are highly volatile and can lose all their value. Nothing here is financial advice or a promise of returns.
- Object wallets cannot be recovered by anyone if the object, its secret name or every copy of its key box is lost.
- Only hold amounts you can afford to lose, and follow the laws that apply to you.
IRL3W Wallet on GitHub IRL3 Objects on GitHub Terms of UsePrivacy Policy