INV—W/RWA · CASE · 2026 COMPLIANCE IN ONE FUNCTION · FIG. 01
Invental/ Works/ RWA Tokenization dApp
Web3 Smart contracts — Self-initiated prototype · testnet only

Tokenizing real assets.

An honest mechanism prototype for fractional real-world-asset crowdfunding: a real asset becomes a deed NFT with a goal-based campaign, backers receive pro-rata shares — and only KYC-verified investors can ever hold them.

Self-initiated prototype
Rapid prototype · contracts + dApp
Solidity contracts · KYC gate · Crowdfund escrow · Frontend
Ethereum L2 testnet · non-custodial
Web3 / DeFi / RWA
A fractional, KYC-gated real-world-asset tokenization dApp prototype
[ M · 01 ]
4
Smart contracts, deployed and verified on an L2 testnet
[ M · 02 ]
7/7
Foundry tests green — escrow, KYC gate, refunds
[ M · 03 ]
1
Function enforcing compliance across mint, transfer and burn
[ M · 04 ]
0
Custody — non-custodial; reads come direct from chain

§ 01Context

This is a mechanism prototype for fractional real-world-asset crowdfunding, built and labeled honestly as one. A real asset is represented on-chain as a deed NFT with its own goal-based campaign; backers contribute and, on a successful raise, receive pro-rata fractional ERC-20 shares of that asset. The shares are gated: only KYC-verified addresses can ever hold them. It runs entirely on a testnet — no real funds, no securities.

§ 02Challenge

Make compliance programmable — guarantee that only verified investors can hold shares — without dragging in a heavyweight standard. Build an escrow that handles success, over-funding and refunds safely, with no way to drain it. Keep the whole thing backend-free so reads come straight from the chain. And build all of it in a weekend.

Compliance lives in one function — a single hook that reverts for any address not on the allowlist, across mints, transfers and burns.— Contract design

§ 03The contracts

Contract · 01 Programmable compliance

One transfer hook enforces the allowlist across every movement of shares — the lightweight stand-in for a permissioned-token standard.

ERC-20_update hookAllowlist
Contract · 02 Crowdfund escrow

Separate claim / withdraw / refund paths, each reentrancy-guarded, with state derived from the raise.

ReentrancyGuardCEIDerived state
Layer · 03 On / off-chain split

Deeds hold only identity on-chain; rich metadata lives off-chain on IPFS — no backend, reads direct from chain.

ERC-721IPFSBackend-free
Method · 04 Spike → promote

Both stacks proven in throwaway spikes first, then lifted in — so the timed build was execution, not setup.

Foundrywagmi v3RainbowKit

§ 04Rapid build

The build was fast because the risk was retired first. Both stacks were proven in gitignored spikes — the contracts spike hit 7/7 tests with a green deploy simulation; the web spike resolved the thorny peer-dependency compatibility between the wallet libraries and got a clean build — and only then were they promoted into the real repository. Contract types flow from the compiler's output straight into the frontend hooks, so the frontend and contracts never drift.

§ 05Result

  1. Four contracts, deployed and verified on an L2 testnet, with 7/7 tests covering the KYC gate, escrow math and refunds.
  2. Compliance in one function. A single hook guarantees only verified addresses hold shares.
  3. A safe, backend-free dApp. Non-custodial, reads direct from chain, one-command full deploy.
  4. An honest base to grow on. A clean mechanism ready to graduate to a production permissioned-token standard.

— Testnet prototype · no real funds or securities. Prototyping on-chain? Start a conversation.

— More work View all case studies ↗
Language app
Language app
2026EdTech / AI
A dialect-first language-learning app
Real-time Odds Platform
Real-time Odds Platform
2026Sports-tech
Real-time odds, scores & AI predictions
Pet-nutrition platform
Pet-nutrition platform
2026Data / Shopify
Ingredient-intelligence platform & widget

Got a web3 idea to prove? Let's ship it.

We prototype and build on-chain products — contracts, compliance, and the frontend that makes them usable. Thirty minutes on a call is usually enough to see if we're a fit.

Book an intro call