HOW IT WORKS · THE BIG PICTURE

Four layers, one direction of flow.

Your browser talks to a Solana program. The program holds the money and the rules. Creatives and ad serving hang off the edges, and can never override the chain.

  1. CLIENT

    The dApp in your browser

    Browse listings, build a booking in the Contract Builder, and sign with Phantom or Solflare. No account, no password, no email.

    Next.jsWallet adapterContract Builder

  2. ON-CHAIN

    The Screen Sync program

    An Anchor program on Solana validates every booking, holds funds in escrow, and pays out on delivery. Each ad space is a Metaplex Core NFT, so listings can be owned and transferred. This is the source of truth.

    Anchor / RustMetaplex CoreSOL or USDC

  3. STORAGE

    Creatives on IPFS

    Your ad file isn't stored on-chain, only its content ID. Files are pinned to IPFS through Pinata, and the CID is anchored in the booking so everyone knows exactly what was meant to run.

    IPFSPinataCID on-chain

  4. SERVING

    Ad tag & proof-of-display

    A lightweight tag on the host's site or screen shows the booked creative and reports impressions. Deliveries are batched into compressed-NFT receipts on-chain: the proof that releases escrow.

    tag.jsDelivery oracleBubblegum cNFTs

FOLLOW THE MONEY

Every booking is escrowed.

Nobody has to trust anybody. The advertiser's payment sits in an on-chain escrow account until the ad is proven to have run. Then it releases automatically.

01 · ADVERTISER Signs & pays Booking amount + fee leave the wallet
02 · ESCROW Locked on-chain Held by the program, not by us
03 · PAYOUT Host gets paid One fee, capped at 5%, to the treasury
Ad runsProof-of-display is recorded and escrow releases to the host.
Cancelled earlyBefore the slot starts, the advertiser is refunded and the slot frees up.
DisputedFunds hold while the claim is checked against the on-chain delivery receipts.

TRUST BOUNDARIES

What's on-chain vs off-chain.

Anything that must be trustless lives on-chain. Anything that's just convenience lives off-chain and can't override the chain.

On-chain

  • Listings (Core NFTs) & availability ledgers
  • Every booking and its escrowed funds
  • The protocol fee (capped at 5%)
  • Proof-of-display receipts
  • Treasury

Off-chain

  • Creative files (IPFS via Pinata)
  • The ad tag that serves creatives & counts impressions
  • The delivery oracle (run by Screen Sync at launch, decentralized later)
  • The marketing site & this page

THE CLEVER BIT

A whole day in one byte.

Each day is split into eight 3-hour blocks, so a listing's availability for a day fits in a single byte: one bit per block. Booking a block is one bit flip. That's fast, cheap, and impossible to double-book.

ONE LISTING · ONE WEEK · 8 BLOCKS/DAY

Booked blockOpen block

WHERE WE ARE

Built in the open, in phases.

  1. NOWPreview

    The dApp runs on preview data. Live testing begins Q1 2027.

  2. PHASE 2Program on devnet

    Listings, escrowed bookings, settlement, and the treasury fee on Solana.

  3. PHASE 3Serving & proof

    The ad tag, delivery receipts, and disputes resolved against them.

  4. PHASE 4Decentralize

    A decentralized delivery oracle, permanent creative storage, and smarter filler placement.

Solana · base layer Anchor · program Metaplex Core · listings Bubblegum · receipts Next.js · dApp IPFS + Pinata · creatives SOL / USDC · payments

READY TO LOOK CLOSER?

Try it, or read the code.

Explore the marketplace preview, or dig into the full implementation on GitHub.