The issuance and settlement layer for tokenized page inventory.

A publisher registers regions of a rendered page as discrete, transferable positions. Investors acquire those positions at issue and trade them in a permissionless secondary market. A holder can then delegate write access on a position without surrendering it — the primitive a rental market for advertising demand plugs into.

Conventional ad inventory is rented by the impression and settled by an intermediary that owns the measurement, the auction and the ledger. websitekit unbundles it: the publisher sells the position once, the market prices it continuously, and the holder retains a rentable asset.

  • Publisher — shipsDefines inventory, sets floors, freezes terms of issue. Takes 0.95× the floor at issue and a frozen cut of every resale after it.
  • Holder — shipsAcquires at issue or by displacing an incumbent. Holds a transferable ERC-721 carrying both an income right and a write right.
  • Tenant — primitive onlyWrites into a position they do not own, under a revocable grant. The on-chain primitive ships; discovery and pricing above it do not.
  • Terms are underwritableEconomics freeze at createSite — no setter, no admin key, no timelock. An investor reads them once and knows the issuer cannot dilute them.

Demand routing, rental auction and measurement are companion products and are not built. The SDK is the first layer of that stack.

Documentation

Rendered from the markdown in docs/websitekit/, so the site and the repository cannot drift apart.

Reference inventory configurations

Four contracts on Robinhood Chain testnet, cloned from the same implementation. Every price and holder below is read from the chain when the page renders. They differ in the only two dimensions that vary between publishers: what gets carved into inventory, and the terms frozen at createSite. Each page ends with per-position revenue computed from that board’s own on-chain terms.