Property market
Archived proof · previous model

Every step, a transaction you can open.

The full lifecycle of Willow Creek Parcel 7, a fictional parcel, run on Base Sepolia on October 2, 2026, from deploy to an LP exit.

38
Transactions
2
Refused by the chain
7
Contracts, verified source
The refusals

We asked the contracts to break the rules. They refused.

Refused on-chain · NotPermitted

An unverified wallet is refused

NotPermitted: the property token refused to deliver to an unverified wallet (decoded from the chain)

0xbc4171…d89fc5 · mined, reverted ↗
Refused on-chain · PriceOutOfBand

A trade beyond the band is refused

PriceOutOfBand: the hook refused a trade that would end outside the appraisal band (decoded from the chain)

0x855bb2…2a9dc8 · mined, reverted ↗
The lifecycle

From deploy to an LP exit.

  1. 1

    Issuer verifies two traders

    The identity registry marks Dana and Eli as verified holders. Fox is never verified. LPs are never verified either — they never hold the asset.

  2. 2

    Open LPs supply dUSD

    Three unverified wallets supply dUSD to the senior tranche. Senior is paid first, in dUSD.

  3. 3

    A slice goes to the pool; the rest keeps earning

    The vault pairs ~19% of senior with the issuer’s property inventory in the Uniswap v4 pool. The other ~81% stays in the lending venue.

  4. 4

    Verified traders trade inside the band

    Dana and Eli buy and sell the property token. Every trade settles inside the appraisal band.

  5. 5

    An unverified wallet is refused

    Refused on-chain

    Fox tries to buy. The property token itself refuses to deliver to an unverified wallet, so the whole swap reverts on-chain.

    • ⨯ Fox (unverified) tries to buy with 100 dUSDNotPermitted: the property token refused to deliver to an unverified wallet (decoded from the chain)0xbc4171…d89fc5 ↗
  6. 6

    A trade beyond the band is refused

    Refused on-chain

    A buy large enough to push the price more than ~10% past the appraisal is rejected by the hook.

    • ⨯ Dana tries a 2,500 dUSD buy (would leave the band)PriceOutOfBand: the hook refused a trade that would end outside the appraisal band (decoded from the chain)0x855bb2…2a9dc8 ↗
  7. 7

    The appraisal moves, within its limits

    The keeper posts a new appraisal: bounded to ~5% per update and at most once per interval. The band moves with it.

  8. 8

    Idle liquidity earns

    The lending venue realises the interest accrued on the idle senior (simulated testnet yield).

  9. 9

    An LP exits in dUSD only

    Chloe redeems half her senior shares and receives dUSD. She never held, and is not eligible to hold, the property token.

The contracts

Source-verified on Base Sepolia.

MintwareTreasuryVault
Liquidity vault: senior USD + issuer junior, unchanged V2 code
MintwareRwaAppraisalHook
Uniswap v4 hook: appraisal band, band fee, vault oracle, exit window
MockPermissionedPropertyToken
Property token (testnet stand-in): refuses unverified holders
MockRwaIdentityRegistry
Identity registry (testnet stand-in for the issuer’s)
DemoLendingAdapter
Lending venue: idle senior earns (simulated testnet yield)
DemoUSD
Valueless 6-dp testnet dollar
DemoSwapRouter
Demo router: stands in for the issuer’s licensed front end

Testnet demonstration on Base Sepolia. WCP7 represents a fictional property. Test tokens have no monetary value. Contracts are unaudited.