pepenet desktop client — screen handoff

Visual system reference plus eight screens for the .pepe name manager: Discover, My Names, DNS, SSL (issued + empty), Add/Edit record modals, and first-run consent. Swamp-dark pepe palette (#191A16 surfaces, #77C25B accent green, #9CB856 olive status, #D97757 danger); Patrick Hand for UI voice, Space Mono for data. Screens drawn at 920×660. Static mockups — no interactivity wired. See README.md for implementation notes.

1aVisual system

Visual system — palette, type, shapes on #191A16

PALETTE · SWAMP DARK · FLAT ONLY
#191A16
bg
#21231B
panel
#292C21
input/hover
#363A2C
border 1px
#E9EFD8
text
#77C25B
green·engrave
#9CB856
green·ok
#D97757
red·danger
#9FA887
text dim
#515742
text ghost
green + olive + red share oklch lightness/chroma. Expiry fade = 4 text steps: #E9EFD8 → #9FA887 → #767d63 → #515742.
TYPE · PATRICK HAND (VOICE) / SPACE MONO (TRUTH)
much permanence. very forever. — 30 titles
body text, labels, buttons — 19 body
Ᵽ 12.401  PuCysJ…H1hFL  fades in 42d — 14 mono
block 4,201,337 · rent 0.0311 Ᵽ/yr — 11 mono meta
Rule: anything a user could lose money misreading — amounts, addresses, hashes, countdowns, byte counts — is ALWAYS Space Mono. Patrick Hand never touches a number that matters.
SHAPES · SPACING 4/8/12/16/24 · RADII 6/10
engrave Ᵽ
send
⛓ 4,213,882 synced
OWNED
RESERVED
Filled green = spends money. Bordered = safe. Hover: bg steps up one level (#21231B→#292C21→#313526). Pressed: border turns #77C25B. No shadows, no gradients — Nuklear-safe.

9aDiscover

Discover · generated identicon art (no site fetch) · description from owner TXT (2-line clamp) · name-only / lapsed / info-only states · health in the balance dropdown · degraded note in status bar

PepeNet
Discover
My Names
Name Market
Ᵽ 12.401 ▴
balance Ᵽ 12.401
Receive Send
syncsynced · 812,441
rent rate0.0004 Ᵽ / day
mesh peers14 connected
resolvernot responding
proxy:4443 up
⌕ search names & descriptions…
rare.pepe
the original rare pepe gallery, fully on-chain — cards, provenance, and a live floor ticker
arcade.pepe
onchain minigames, high scores engraved forever
gm.pepe
no description published
INFO
wiki.pepe
registered, no site yet — no A / TLSA published
explorer.pepe
block & name explorer for the whole chain
moon.pepe
LAPSED
12 sites · directory rebuilt in 38 ms
web access degraded — resolver down synced · 812,441

9bMy Names

My Names · DNS + SSL per row (approved) · a queued op temporarily changes the badge & disables actions · sticky bar carries Renew / Transfer / Release via overflow · op readout in status bar

PepeNet
Discover
My Names
Name Market
Ᵽ 12.401 ▾
5 names · 4 live
⌕ filter…
+ register a name
shibs.pepe renew queued · confirms next block
QUEUED 273d
✓
gm.pepe expires jul 15 — renew soon
LIVE 12d
renew DNS SSL sell offer transfer release
✓
moon.pepe listed 120 Ᵽ · window 3d left
LISTED 201d
dex.pepe buyer reserved · can't renew now
RESERVED 22h
✓
old.pepe offered to Pk9wZa…4mQrT · 90 Ᵽ
OFFERED 3d
3 selected clear ~0.0588 Ᵽ
···
Transfer 3
Release 3
Renew 3
renewing shibs.pepe · 1 op queued synced · 812,441

9cDNS

DNS (per-name) · edit = overwrite (delete lives in the edit modal) · _443._tcp TLSA row greyed / system-managed · TXT _site holds the Discover description · status in footer

PepeNet
Discover
My Names
Name Market
Ᵽ 12.401 ▾
‹ gm.pepe · DNS SSL ›
DNS records 5 records + add record
TYPE HOST VALUE TTL
A @ 104.21.9.44 3600 edit
CNAME www gm.pepe 3600 edit
TXT _site "daily gm board — one post per wallet" 3600 edit
A api 104.21.9.51 300 edit
TLSA _443._tcp 3 1 1 9f2c11a47be0… 3600 🔒
🔒 managed on the SSL page
idle synced · 812,441

9dSSL — issued + pinned

SSL (per-name) · a certificate LIST, not one cert · default apex entry (gm.pepe + *.gm.pepe) + per-subdomain entries · each entry has its own pin strip (3 states), KEY PIN (TLSA 3 1 1) & Export bundle · self-signed · DANE · Create free & auto-publishes the pin

PepeNet
Discover
My Names
Name Market
Ᵽ 12.401 ▾
‹ gm.pepe · SSL DNS ›
Certificates 2 · self-signed, pinned by DANE
gm.pepe *.gm.pepe DEFAULT · COVERS ALL
Export bundle ···
✓ pinned on-chain — the TLSA matches this key
KEY PIN (TLSA 3 1 1) 9f2c11a47be03d88c5416afe29b70cd382145eaa609d37f14c2b88e07a11d953 ⧉ copy
self-signed · DANE ECDSA P-256 created apr 8, 2026 valid ~10 years
shop.gm.pepe SUBDOMAIN · SEPARATE KEY
Export bundle ···
! not pinned yet — shop.gm.pepe won't validate until you publish publish pin
KEY PIN (TLSA 3 1 1) 4b18e7c0a2f95d6613be74089a2c5eaa71d3826f145e0c3d889f2c11a47be03d ⧉ copy
self-signed · DANE ECDSA P-256 created jul 9, 2026 valid ~10 years
+ certificate for a subdomain a separate key for a sub hosted elsewhere — contains the blast radius if that host is compromised
add
PIN STATUS ✓pinned !not pinned yet ✕key mismatch — republish
idle synced · 812,441

9eSSL — empty state

SSL · empty state (no cert yet) · Create panel is the page focus · Active panel shows a dashed placeholder

PepeNet
Discover
My Names
Name Market
Ᵽ 12.401 ▾
‹ shop.pepe · SSL NOT SERVABLE
🔒
no certificate yet create one to make shop.pepe servable over https — pinned to your name, no CA
Create certificate
generate a P-256 key and self-signed cert. it covers the apex and every subdomain.
COVERS
shop.pepe *.shop.pepe
↑ final step publishes the TLSA pin on-chain — this is what makes the padlock trustless.
Create
idle synced · 812,441

9fAdd record modal

Add record · live PREVIEW dry-run · inline VALUE validation error · passive over-80-byte hint · SRV tucked under “more…”

PepeNet
‹ gm.pepe · DNS
Add DNS record gm.pepe ✕
TYPE
A AAAA CNAME TXT MX more…
HOST
shop
TTL
3600▾
VALUE
104.21.9.999 ✕
not a valid IPv4 address — each octet is 0–255
PREVIEW shop.gm.pepe A → —
record is 96 bytes · over 80 gossips fine, only the on-chain fallback is skipped
Cancel Add record

9gEdit record modal

Edit record · same modal, pre-filled · edit = overwrite (latest wins) · delete = publish empty record, destructive action bottom-left

PepeNet
‹ gm.pepe · DNS
Edit record gm.pepe ✕
TYPE
A AAAA CNAME TXT
HOST
api
TTL
300▾
VALUE
104.21.9.51
PREVIEW api.gm.pepe A → 104.21.9.51 overwrites current
Delete Cancel Save

9hFirst-run consent

First-run consent · one admin prompt · scope promise (.pepe ONLY) · what it installs (root · resolver · port redirect) · “skip for now” path

PepeNet
Access the PepeNet?
✓ Enabling PepeNet allows you to visit .pepe websites. To do so, we:
01
Install .pepe Certificatea local trustless certificate authority for .pepe
02
Run DNS Meshanswers .pepe lookups
03
Run Local Proxyenable secure https for .pepe sites
Skip for now wallet & names work without it
Enable web access