🎨 Demo scenarios
This page documents all available demo scenarios and URL parameters for testing different views. Every page has a config panel (⚙️ button in top right) to dynamically change settings.
📄 Available pages
🏠 Homepage
Search, recently viewed, email signup, incidents preview
👤 Account page
EOA profiles with identity, KYC status, transactions, tokens
📜 Contract page
Smart contract analysis, ownership, code, security
📝 Transaction page
Transaction details, side effects, replay warnings
🔥 Incidents page
Security incidents, hacks, disclosure timelines
👤 Account page scenarios
URL parameters
account.html?
address=0x... // The account address
status=kyc-linked // kyc-linked | first-degree | second-degree | third-degree | unknown
hasENS=true // true | false
leaked=false // true | false - Private key leaked
sandwicher=false // true | false - Known MEV sandwicher
kycTransfer=true // true | false - Has transfers from KYC exchanges
vulnApprovals=false // true | false - Has vulnerable token approvals
Demo links
KYC-LINKED
1ST DEGREE
2ND DEGREE
3RD DEGREE
UNKNOWN
LEAKED
SANDWICHER
VULN APPROVALS
Well-known account (vitalik.eth)
KYC exchange transfers, ENS profile, full features
1st degree KYC connection
Direct transfers from Coinbase/KYC exchange
2nd degree KYC connection
One hop from KYC exchange
3rd degree KYC connection
Two hops from KYC exchange
Unknown account
No identity info, no KYC trail
Leaked private key
Warning about compromised account
Known MEV sandwicher
Account has participated in sandwich attacks
Vulnerable token approvals
Has approvals to contracts with known vulnerabilities
📜 Contract page scenarios
URL parameters
contract.html?
address=0x... // The contract address
ownership=kyc-linked // kyc-linked | multisig | unknown | none
upgradeable=false // true | false
selfdestruct=false // true | false
rugpullable=false // true | false
verified=true // true | false - Source code verified
Demo links
SAFE
MULTISIG
RENOUNCED
UNKNOWN
UPGRADEABLE
SELFDESTRUCT
RUGPULL RISK
Trusted contract (KYC-linked owner)
Best case: verified source, owner linked to KYC exchanges
Multi-sig controlled contract
Owned by a Safe wallet
Ownership renounced
No owner, immutable contract
Unknown owner, unverified
No identity info, source not verified
Upgradeable contract
Proxy pattern, can be modified
Has SELFDESTRUCT opcode
Contract can be permanently destroyed
Rugpullable contract
Admin can drain funds, shows rugpull simulation
📝 Transaction page scenarios
URL parameters
transaction.html?
type=contract // transfer | contract | deploy | message
replayable=false // true | false - No EIP-155 signature
failed=false // true | false - Transaction reverted
sandwich=false // true | false - Part of sandwich attack
Demo links
CONTRACT
TRANSFER
DEPLOY
MESSAGE
REPLAYABLE
FAILED
SANDWICH
MULTIPLE
Contract interaction
Normal contract call (NFT transfer)
ETH transfer
Simple value transfer between accounts
Contract deployment
New contract creation transaction
Love letter (0 ETH + message)
Zero-value transaction with calldata message
No EIP-155 (replay attack possible)
Transaction can be replayed on other networks
Reverted transaction
Transaction that failed/reverted
Sandwiched transaction
Victim of MEV sandwich attack
Multiple warnings
Replayable AND sandwiched
🎨 Design notes
Retro 90s graffiti theme elements
- Neon color palette: pink, cyan, green, yellow, orange
- Bangers font for headers (graffiti style)
- VT323 for body text (retro terminal)
- Press Start 2P for buttons and labels (pixel art)
- Dark background with subtle radial gradients
- Glowing borders and hover effects
- Paint drip decorative borders
Color meanings
GREEN
Safe, verified, good status
CYAN
Informational, neutral good
YELLOW
Proceed with caution
RED
Danger, high risk, failed
GRAY
Unknown, neutral
🔧 Technical notes
- Pure HTML/CSS/JS — no build step required
- All data is mocked/static for demo purposes
- URL parameters control page state for different scenarios
- Config panel (⚙️) allows dynamic switching without editing URLs
- Responsive design works on mobile
- Identicons generated via DiceBear API