This locker was built by a solo developer with LLM assistance, and has only been reviewed through informal multi-LLM audits — a method that is not guaranteed to be 100% accurate or complete. No formal third-party security audit exists.
This is a free service provided “as is”, with no warranties of any kind. By using it you accept full responsibility for any outcome and agree not to hold anyone liable. Do not lock funds you are not prepared to lose entirely — use it only within the level of risk you can bear.
How it works
Every lock is an ISOLATED vault holding exactly one token behind exactly one schedule. There is no shared pool of funds to drain, no owner key, no pause, no rescue function, no fees. The contract cannot grant a token allowance even if it wanted to.
Schedules
- HARD — 0% until the unlock date, then 100%.
- LINEAR — optional cliff, then per-second accrual until the end date. Claim anytime, as often as you like.
- PERMANENT — unreleasable by anyone, forever. Burn-grade commitment that keeps its receipt alive as proof.
- TGE — launchpad-style plan compiled into two independent vaults in one transaction: TGE bump at listing, linear tail after. Exact semantics, zero extra on-chain machinery.
The receipt NFT
Creating a lock mints an ERC-721 receipt. The receipt IS the claim right: whoever holds it receives every payout. Sell it, gift it, park it in a multisig — the allocation follows the receipt, and vesting can never be bypassed by moving it around. Claims are permissionless to trigger; proceeds always land on the current holder.
Trust properties
- Ownerless: no admin functions exist in bytecode (opcode-gated in CI).
- Immutable: no proxy, no upgrade path; per-vault config baked into creation code.
- Free: no fee of any kind exists anywhere in the system.
- Zero approvals held by contracts — nothing to drain via stale allowances.
- Ledgers can never exceed physical custody; claims are strictly bounded.
- Forward-only
extend(): commitments grow, never shrink; already-earned accrual is never confiscated. - License: The Unlicense (public domain). Sources verified on Blockscout.
Token support policy
Locking requires you to paste the token's CONTRACT ADDRESS manually. There is no token list, no search, no autocomplete — deliberately. The address is read back live from chain (symbol and balance shown before you can proceed), so the one thing being locked is exactly the contract you typed. This friction is intentional: accidental locks of the wrong asset are unrecoverable in an ownerless system.
Any standard ERC-20 works; deposits credit exactly what arrives (fee-on-transfer safe). Rebasing tokens are unsupported. Tokens whose issuer can blacklist/pause can freeze their own lock only — isolation prevents any cascade. Fee-on-transfer tokens pay their tax twice during creation (in and out of the hub) — that is the accepted price of total isolation. Stray tokens sent directly to hub or vault addresses are permanently stuck by design: there is deliberately no rescue key, because rescue keys are how rug vectors happen.
Contracts (Robinhood Chain 4663)
Solo-dev + LLM disclosure: built with AI assistance across research, implementation, fuzzing and multi-model adversarial audit rounds (trail in repo AUDIT.md). Deployed bytecode proven bit-identical to the audited build. Use at your own discretion — permissionless means no one can stop you, and also no one can save you.