- New tool: deep scan any Solana wallet address or connect wallet - Overview: SOL balance, portfolio value, wallet age, tx count, activity rating - Token Holdings: SPL token table with logos, prices, USD values via Jupiter - NFT Detection: 0-decimal single-supply token grid with Solscan links - Recent Transactions: last 20 sigs with status and timestamps - Wallet Score: composite A+ to F grading with colour-coded bars - Token-2022 support, RPC failover, Jupiter token list caching - URL param support (?address=) for direct scanning - Radar sweep loading animation, responsive mobile design - New LAB card with cyan theme
169 lines
6.9 KiB
HTML
169 lines
6.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>JAESWIFT // WALLET X-RAY</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@300;400;500;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="/css/style.css">
|
|
<link rel="stylesheet" href="/css/section.css">
|
|
<link rel="stylesheet" href="/css/walletxray.css">
|
|
</head>
|
|
<body>
|
|
<div class="scanline-overlay"></div>
|
|
<div class="grid-bg"></div>
|
|
|
|
<nav class="nav-main" id="navbar">
|
|
<div class="nav-container">
|
|
<a href="/" class="nav-logo">
|
|
<span class="logo-bracket">[</span> JAE <span class="logo-bracket">]</span>
|
|
</a>
|
|
<button class="nav-toggle" id="navToggle" aria-label="Menu">
|
|
<span></span><span></span><span></span>
|
|
</button>
|
|
<ul class="nav-menu" id="navMenu"></ul>
|
|
<div class="nav-status">
|
|
<span class="nav-clock" id="navClock"></span>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="breadcrumb">
|
|
<a href="/">HOME</a>
|
|
<span class="separator">/</span>
|
|
<a href="/armoury">ARMOURY</a>
|
|
<span class="separator">/</span>
|
|
<a href="/armoury/lab.html">LAB</a>
|
|
<span class="separator">/</span>
|
|
<span class="current">WALLET X-RAY</span>
|
|
</div>
|
|
|
|
<section class="section-header" style="padding-top: calc(var(--nav-height) + 1.5rem);">
|
|
<div class="section-header-label">LAB // SOLANA WALLET ANALYSIS</div>
|
|
<h1 class="section-header-title">WALLET X-RAY</h1>
|
|
<p class="section-header-sub">> Deep scan any Solana wallet — token holdings, NFTs, transactions, and wallet scoring.</p>
|
|
</section>
|
|
|
|
<div class="wx-container">
|
|
|
|
<!-- Input Bar -->
|
|
<div class="wx-input-bar">
|
|
<input type="text" id="wx-address" placeholder="Paste any Solana wallet address..." spellcheck="false" autocomplete="off">
|
|
<button class="wx-btn wx-btn-scan" id="wx-scan-btn">▼ SCAN</button>
|
|
<span class="wx-or">OR</span>
|
|
<button class="wx-btn wx-btn-wallet" id="wx-wallet-btn">CONNECT WALLET</button>
|
|
</div>
|
|
|
|
<!-- Error Display -->
|
|
<div class="wx-error-msg" id="wx-error"></div>
|
|
|
|
<!-- Loading Animation -->
|
|
<div class="wx-loading" id="wx-loading">
|
|
<div class="wx-radar">
|
|
<div class="wx-radar-ring"></div>
|
|
<div class="wx-radar-ring"></div>
|
|
</div>
|
|
<div class="wx-loading-text" id="wx-loading-text">SCANNING WALLET</div>
|
|
<div class="wx-loading-sub" id="wx-loading-sub">Querying Solana mainnet...</div>
|
|
</div>
|
|
|
|
<!-- Results -->
|
|
<div class="wx-results" id="wx-results">
|
|
|
|
<!-- SECTION 1: OVERVIEW -->
|
|
<div class="wx-panel">
|
|
<div class="wx-panel-header">
|
|
<span class="wx-panel-icon">■</span>
|
|
<span class="wx-panel-label">OVERVIEW</span>
|
|
<span class="wx-panel-count" id="wx-wallet-short"></span>
|
|
</div>
|
|
<div class="wx-panel-body">
|
|
<div class="wx-overview-grid" id="wx-overview"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SECTION 2: TOKEN HOLDINGS -->
|
|
<div class="wx-panel">
|
|
<div class="wx-panel-header">
|
|
<span class="wx-panel-icon">◆</span>
|
|
<span class="wx-panel-label">TOKEN HOLDINGS</span>
|
|
<span class="wx-panel-count" id="wx-token-count"></span>
|
|
</div>
|
|
<div class="wx-panel-body" id="wx-tokens-body">
|
|
<div class="wx-section-loading" id="wx-tokens-loading">
|
|
<div class="wx-mini-spinner"></div>
|
|
<span>Fetching token accounts...</span>
|
|
</div>
|
|
<div id="wx-tokens-content"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SECTION 3: NFTs -->
|
|
<div class="wx-panel">
|
|
<div class="wx-panel-header">
|
|
<span class="wx-panel-icon">♣</span>
|
|
<span class="wx-panel-label">NFTs</span>
|
|
<span class="wx-panel-count" id="wx-nft-count"></span>
|
|
</div>
|
|
<div class="wx-panel-body" id="wx-nfts-body">
|
|
<div class="wx-section-loading" id="wx-nfts-loading">
|
|
<div class="wx-mini-spinner"></div>
|
|
<span>Scanning NFT holdings...</span>
|
|
</div>
|
|
<div id="wx-nfts-content"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SECTION 4: RECENT TRANSACTIONS -->
|
|
<div class="wx-panel">
|
|
<div class="wx-panel-header">
|
|
<span class="wx-panel-icon">▶</span>
|
|
<span class="wx-panel-label">RECENT TRANSACTIONS</span>
|
|
<span class="wx-panel-count" id="wx-tx-count"></span>
|
|
</div>
|
|
<div class="wx-panel-body" id="wx-tx-body">
|
|
<div class="wx-section-loading" id="wx-tx-loading">
|
|
<div class="wx-mini-spinner"></div>
|
|
<span>Loading transaction history...</span>
|
|
</div>
|
|
<div id="wx-tx-content"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SECTION 5: WALLET SCORE -->
|
|
<div class="wx-panel">
|
|
<div class="wx-panel-header">
|
|
<span class="wx-panel-icon">★</span>
|
|
<span class="wx-panel-label">WALLET SCORE</span>
|
|
</div>
|
|
<div class="wx-panel-body" id="wx-score-body">
|
|
<div class="wx-section-loading" id="wx-score-loading">
|
|
<div class="wx-mini-spinner"></div>
|
|
<span>Calculating wallet score...</span>
|
|
</div>
|
|
<div id="wx-score-content"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="footer">
|
|
<div class="footer-container">
|
|
<div class="footer-left">
|
|
<span class="footer-logo">[JAE]</span>
|
|
<span class="footer-copy">© 2026 JAESWIFT.XYZ</span>
|
|
</div>
|
|
<div class="footer-right">
|
|
<span class="footer-signal">SIGNAL ████<span class="signal-flicker">█</span></span>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="/js/wallet-connect.js"></script>
|
|
<script src="/js/nav.js"></script>
|
|
<script src="/js/clock.js"></script>
|
|
<script src="/js/walletxray.js"></script>
|
|
</body>
|
|
</html>
|