IRL3

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.

IRL → Web3 · overview
Real objectbanana, mug, sneakerCameraphone or computerON YOUR DEVICEIsolate itSAM · GrabCutRecognize itDINOv2 · MobileCLIPRead its detailsORB featuresObject walletSolana · EVM · BitcoinObject tokenkind + colour, on pump.funthe details → a keywhat it is → a token

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.

PartWhat it does
IRL3W WalletTurns an object and a secret name into a wallet with Solana, EVM and Bitcoin addresses. Scanning it again opens the same wallet.
LaunchCreates 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 WorldPoint the camera at anything: it names the object and shows its token, or lets you launch one.
Object LibraryThe objects you scanned, kept in your browser, ready for your next token.
PaymentsEvery fee collection, payout, buyback and burn, each with its transaction.
AnalyticsVolume, 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.

IRL3W Wallet · object → key
CAMERALive 3D checkhold · turn · show a sideCut out the objectno hand, no tableSurface detailspoints + positionsFuzzy vault120 pieces rebuild the keySECRET NAMESecret nametyped, never storedscryptslow on purposeKey boxsealed, on your deviceWallet seedrebuilt, never savedSolanaed25519 from the seedEVMHKDF → secp256k1BitcoinHKDF → bc1q… (SegWit)one seed · three chains

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

  1. 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.
  2. 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.
  3. 3Read what makes it uniqueHundreds of surface details (ORB features) and where they sit: print, texture, scratches, stickers, signatures.
  4. 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 parameterValue
FieldGF(2²⁴ − 3), 16,777,213 elements
Threshold120 pieces rebuild the secret
Tables8 independent lookups per detail, 12-bit detail tokens
Decoysone decoy per real detail, 8-bit tags
DecodingLagrange interpolation, then Berlekamp–Welch error correction
Seed checka SHA-256 commitment confirms the rebuilt seed
Box sizeabout 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

NetworkHow the key is made
Solanathe seed is the ed25519 private key seed; the secret key exports in base58
EVMHKDF-SHA256 → secp256k1; one 0x address on Ethereum, Base, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche…
BitcoinHKDF-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

PairCreator fee per trade
SOL0.3%, fixed
WBTC0.05–3%, set by the creator (1% by default)
ETH0.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.

Object token · launch
Scan the objectkind + colour + drawingOne object, one tokenis this one still free?Vanity mintaddress ends in pumppump.fun create_v2you are the creatorFee sharingfactory 100% · admin revokedFee lock checkread on chainListed on IRL3token page · exploreTradingcurve → PumpSwapimage + metadata pinned on IPFS · signed in your own wallet

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.

  1. 1Choose the typeObject token (scan an object) or standard token (your own picture).
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Creator fees · flow
Every tradebonding curve or PumpSwapFee vaultper token, lockedIRL3 factorycollects every 5 min80% · creator or holdersclaim by signature or scan20% · IRL3its SOL share buys $IRL3Buy $IRL3Jupiter · every 10 minBurnsupply only goes downevery buy and every burn is on Solscan

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.

Holder rewards · 10-minute rounds
ROUND 1ROUND 2ROUND 3ROUND 4ROUND 5Holder Aholds steadilyHolder Bsells half in round 3Dev walletnever sharesexcluded0m10m20m30m40m50msnapshot at every tick · paid pro rata · dust stays in the factory

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.

RuleDetail
Roundevery 10 minutes
Pool80% of the creator fees recorded during the round
Eligibleholdings worth at least $20
Counted balancethe lower of the balance at the last round and the balance now
Sharepro rata to the counted balance, rounded down
Left outthe token's creator, the bonding curve, the PumpSwap pool and program-owned accounts
Nobody eligiblethe pool waits; later rounds release their own pool plus a fifth of what waits
Priceread from the token's bonding curve or PumpSwap pool on chain; if none is available the round waits

Claiming with the object

Holder claim · proof of object
Sign in your walleta message, valid 5 minScan the objectlive, views + depthDevice checkkind and colour matchServer checksame models, measured againFresh pictures onlyused views are refusedPaid by the factoryyour share of the roundsOn chainlisted on Paymentsthe camera picture never becomes public · only its fingerprint is kept

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.

Scan the World · live loop
Live frameevery ~100 msFind the objectDINOv2 patchesName it117 kinds · 15 coloursLock onviews agree · its tokenkeeps tracking · a new object starts a new lock

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.

$IRL3 token address5hpck3FaHXqhQnL4RwwdaNQFeBka6CpoVBxT1dWupump

Buyback & burn

  1. 1IRL3 earns its share20% of every IRL token's creator fees reaches the factory. Its SOL share is what buys $IRL3.
  2. 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.
  3. 3Everything bought is burnedThe factory burns every $IRL3 it holds, with the SPL burn instruction. Burned tokens are gone for good.
  4. 4Every step is publicEach purchase and each burn is recorded with its transaction and shown on Payments and Analytics.
RuleValue
Share used100% of IRL3's SOL share of creator fees
Frequencyevery 10 minutes
Per runat least 0.01 SOL, at most 1 SOL, so a large balance is spread over many runs
Never touchedwhat the factory owes creators and holders, and a reserve for network fees
RouteJupiter, 3% slippage limit
Interrupted runrecorded step by step and finished on the next run

Proof

Transparency

Everything that moves value is a public transaction, and IRL3 shows them all.

IRL3 factory wallet2ceQNrdf7QDfYL9awGhmkNn53cfRpdEZcxjhUn2cQiRL
  • 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.

AreaHow it is protected
Wallet keysrebuilt in your browser on each scan, never stored, never sent
Secret namesnever stored; scrypt makes each guess slow
Camera picturesprocessed on your device; a holder claim sends a few views for checking, which are never published
Your walletyou sign every transaction yourself; a sign-in is a free message, valid 7 days
Feeslocked on chain to the factory with admin rights revoked, checked before listing and after
Payoutssigned, recorded, then sent and followed to confirmation; never paid twice
Phone handoffend-to-end encrypted; the key stays in the link and never reaches the server
The APIrate limited, and only reachable through the site
MonitoringIRL3 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.

Open source · MIT

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 dev
View on GitHub
Open source · MIT

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 dev
View 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

IRL3