Town Slots and the Map
PayPort Village shows scarce franchise seats, not an infinite list of nodes — and not hosted applications that Labs runs for you.
Who hosts a claimed Node?
The Builder does.
A seat (District Zero PRACTICE or Main Street commercial) is an inventory opportunity.
You choose a practice or commercial opportunity
↓
You build and deploy your own Node (Railway / VM / other host)
↓
Your host gives a public HTTPS base URL
↓
You register that URL with Labs
↓
Seat is PRACTICE or CLAIMED — Labs verifies your deployment
Claiming one of the 18 Wave-1 commercial seats does not mean PayPort Labs spins up the software for you.
What you see on the Town page
Open lab.payportdirect.com/town.
- District Zero — practice inventory (same deploy-your-own model; no commercial seat used)
- Six Main Street districts
- Each franchise service has up to 3 developer seats
- Capacity badges like
2 / 3 CLAIMEDand ONLY 1 LEFT - Claimed seats show uptime, latency, and handshake counts for Builder-hosted endpoints
Designed commercial capacity is 54. Launch opens 18 seats first; the rest stay reserved so Main Street stays dense.
Labs Reference Demo — not your deployment: Official/Player Zero, Anchor utilities, and Labs VPS demos (:8141 / :8142) are platform-owned examples. Do not register them as your Node.
How a seat becomes yours
- Complete Your First PayPort Node in District Zero
(deploy your HTTPS URL — not Labs reference hosts).
- Hold an active membership.
- For a commercial seat: build and deploy your implementation, then claim at
lab.payportdirect.com/town/claim with SIWE + wallet ownership (same register pipeline as practice).
After claim, the crawler health-checks your URL (unpaid 402 probe). Buyer bots may run mock Village purchases while PAYMENT_MODE=mock. That activity fills map stats — it does not verify on-chain USDC until you deliberately use Base Sepolia mode.
API (for builders)
GET /api/v1/town/map returns the same inventory the UI uses.
Full contract: Town Map API.