mirror of
https://github.com/jaxperro/winning-wallet-finder.git
synced 2026-08-01 10:17:46 +00:00
121 lines
16 KiB
HTML
121 lines
16 KiB
HTML
<!doctype html><html lang="en"><head><meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Skilled Wallets — Polymarket</title>
|
||
<style>
|
||
:root{--bg:#0b0e14;--card:#141925;--line:#222b3a;--dim:#8a97ad;--fg:#e8edf5;
|
||
--green:#37d67a;--red:#ff5c6c;--amber:#ffcc55;--blue:#5b9dff;--violet:#b18cff}
|
||
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);
|
||
font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
|
||
.wrap{max-width:1180px;margin:0 auto;padding:22px 16px 60px}
|
||
h1{font-size:26px;margin:0 0 2px}.sub{color:var(--dim);margin:0 0 18px}
|
||
.cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
|
||
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;
|
||
padding:12px 16px;min-width:120px}.card .k{color:var(--dim);font-size:12px}
|
||
.card .v{font-size:22px;font-weight:700;margin-top:2px}
|
||
.controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
|
||
input,select{background:var(--card);border:1px solid var(--line);color:var(--fg);
|
||
border-radius:9px;padding:8px 11px;font-size:14px}
|
||
input{flex:1;min-width:180px}
|
||
.pill{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}
|
||
.value{background:rgba(55,214,122,.15);color:var(--green)}
|
||
.favorite{background:rgba(255,204,85,.15);color:var(--amber)}
|
||
.balanced{background:rgba(91,157,255,.15);color:var(--blue)}
|
||
table{width:100%;border-collapse:collapse;background:var(--card);
|
||
border:1px solid var(--line);border-radius:12px;overflow:hidden}
|
||
th,td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
|
||
th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}
|
||
th{color:var(--dim);font-size:12px;cursor:pointer;user-select:none;position:sticky;top:0;background:var(--card)}
|
||
th:hover{color:var(--fg)}tr.row:hover{background:#1a2030;cursor:pointer}
|
||
td.name{font-weight:600}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
|
||
.z{font-weight:700}.mono{font-family:ui-monospace,Menlo,monospace;color:var(--dim);font-size:12px}
|
||
.det{background:#10141d;color:var(--dim);font-size:13px}
|
||
.det td{text-align:left;white-space:normal}
|
||
.bar{display:inline-block;height:7px;border-radius:4px;background:var(--violet);vertical-align:middle}
|
||
.note{color:var(--dim);font-size:12px;margin-top:14px;line-height:1.6}
|
||
.trade{display:flex;gap:8px;align-items:center;padding:3px 0;border-bottom:1px solid var(--line)}
|
||
.b{color:var(--green)}.s{color:var(--red)}
|
||
</style></head><body><div class="wrap">
|
||
<h1>Skilled Wallets <span style="color:var(--dim);font-weight:400;font-size:18px">· Polymarket</span></h1>
|
||
<p class="sub">31 wallets that beat their own entry prices and held up out-of-sample · generated 2026-06-28 11:46</p>
|
||
<div class="cards">
|
||
<div class="card"><div class="k">Validated wallets</div><div class="v">31</div></div>
|
||
<div class="card"><div class="k">Median z</div><div class="v">4.8</div></div>
|
||
<div class="card"><div class="k">Median OOS z</div><div class="v" style="color:var(--green)">3.1</div></div>
|
||
<div class="card"><div class="k">Value / longshot</div><div class="v" style="color:var(--green)">20</div></div>
|
||
<div class="card"><div class="k">Favorite-rider</div><div class="v" style="color:var(--amber)">5</div></div>
|
||
</div>
|
||
<div class="controls">
|
||
<input id="q" placeholder="search name or address…">
|
||
<select id="arch"><option value="">All archetypes</option>
|
||
<option value="value">Value / longshot</option>
|
||
<option value="balanced">Balanced</option>
|
||
<option value="favorite">Favorite-rider</option></select>
|
||
<select id="sort">
|
||
<option value="z">Sort: z (skill)</option>
|
||
<option value="z_oos">Sort: out-of-sample z</option>
|
||
<option value="band_0204">Sort: alpha-zone %</option>
|
||
<option value="n">Sort: # bets</option>
|
||
<option value="win_rate">Sort: win rate</option>
|
||
</select>
|
||
</div>
|
||
<table id="tbl"><thead><tr>
|
||
<th data-k="rank">#</th><th data-k="name">Wallet</th>
|
||
<th data-k="z">z</th><th data-k="z_oos">OOS z</th>
|
||
<th data-k="n">bets</th><th data-k="win_rate">win%</th>
|
||
<th data-k="avg_entry">avg entry</th><th data-k="band_0204">alpha 0.2–0.4</th>
|
||
<th data-k="arch">type</th>
|
||
</tr></thead><tbody id="body"></tbody></table>
|
||
<p class="note"><b>How to read it.</b> <b>z</b> = how far the wallet beat the prices it paid (skill; >3 is strong). <b>OOS z</b> = whether that skill held on held-out bets — the gate that separates real edge from luck. <b>Alpha 0.2–0.4</b> = share of bets in the underdog value zone where research finds real edge concentrates. <span class="value" style="padding:1px 7px">Value</span> wallets win by beating longshot/mid prices (the copyable alpha); <span class="favorite" style="padding:1px 7px">Favorite-rider</span> wallets post high win rates buying near-certain favorites (real but thin, hard to copy). Click any row for live recent trades. Not financial advice — split-half OOS, forward-track before sizing.</p>
|
||
</div>
|
||
<script>
|
||
const DATA=[{"wallet": "0xf419556a9758214628edff29dce8f39a8aa13ce7", "name": "2j289uUmAio7ap245975", "weight": 0.1011, "tier": "validated", "z": 17.95, "z_oos": 9.52, "n": 2086, "win_rate": 69.9, "avg_entry": 0.51, "band_0204": 0.13, "rank": 1, "arch": "balanced", "wins": 1458}, {"wallet": "0x5f390e4b7d6f06d6756a6c92afdbf7b3176aa78c", "name": "oVyg7f", "weight": 0.1004, "tier": "validated", "z": 17.82, "z_oos": 7.91, "n": 2000, "win_rate": 66.0, "avg_entry": 0.57, "band_0204": 0.02, "rank": 2, "arch": "balanced", "wins": 1320}, {"wallet": "0x2257901897e83d39e778fa86d568dc1cd9a2dca2", "name": "iuii899889", "weight": 0.0562, "tier": "validated", "z": 9.97, "z_oos": 6.51, "n": 1539, "win_rate": 50.0, "avg_entry": 0.38, "band_0204": 0.25, "rank": 3, "arch": "value", "wins": 770}, {"wallet": "0x14d2bf01e3e7bac9b1799265db3c7d8a993dfa3e", "name": "8998yueyye", "weight": 0.0512, "tier": "validated", "z": 9.09, "z_oos": 5.89, "n": 1532, "win_rate": 49.9, "avg_entry": 0.39, "band_0204": 0.25, "rank": 4, "arch": "value", "wins": 764}, {"wallet": "0x753e554feb327f9d4f7bff8a6ebdced98fbd2046", "name": "hfdffdhr", "weight": 0.0382, "tier": "validated", "z": 6.78, "z_oos": 4.21, "n": 1396, "win_rate": 49.2, "avg_entry": 0.41, "band_0204": 0.2, "rank": 5, "arch": "value", "wins": 687}, {"wallet": "0xc850cf70d9da621ff0c219f625c9623f88b78c51", "name": "0xc850cf70\u2026", "weight": 0.0374, "tier": "validated", "z": 6.63, "z_oos": 4.39, "n": 2000, "win_rate": 51.2, "avg_entry": 0.44, "band_0204": 0.31, "rank": 6, "arch": "value", "wins": 1024}, {"wallet": "0xf3a6ef82d0904db48c0ad8016ca62c556fee8c6c", "name": "0xf3a6ef82\u2026", "weight": 0.0369, "tier": "validated", "z": 6.55, "z_oos": 6.22, "n": 774, "win_rate": 32.3, "avg_entry": 0.24, "band_0204": 0.18, "rank": 7, "arch": "value", "wins": 250}, {"wallet": "0x4b51d90a0f8024a1d3d169b6a4a6473d3f75de5e", "name": "0x4b51d90a\u2026", "weight": 0.0349, "tier": "validated", "z": 6.19, "z_oos": 5.82, "n": 470, "win_rate": 31.3, "avg_entry": 0.21, "band_0204": 0.26, "rank": 8, "arch": "value", "wins": 147}, {"wallet": "0x97892305f3b5569c32d16f4ed70f840dd7e61ae7", "name": "0x97892305f3b5569c32d16f4ed70F840dd7e61ae7-1770916318891", "weight": 0.0325, "tier": "validated", "z": 5.77, "z_oos": 4.17, "n": 706, "win_rate": 50.0, "avg_entry": 0.4, "band_0204": 0.5, "rank": 9, "arch": "value", "wins": 353}, {"wallet": "0x751a2b86cab503496efd325c8344e10159349ea1", "name": "Sharky6999", "weight": 0.0314, "tier": "validated", "z": 5.57, "z_oos": 2.46, "n": 2001, "win_rate": 96.5, "avg_entry": 0.94, "band_0204": 0.01, "rank": 10, "arch": "favorite", "wins": 1931}, {"wallet": "0x8a37fe3a49a36de9facd04bd09ee379211f7c99c", "name": "ggmggn", "weight": 0.0311, "tier": "validated", "z": 5.52, "z_oos": 5.01, "n": 2000, "win_rate": 89.2, "avg_entry": 0.87, "band_0204": 0.0, "rank": 11, "arch": "favorite", "wins": 1784}, {"wallet": "0xc78cdeb598f0bb8bae62a80e8134e842b3c44455", "name": "kjjdhfgsg", "weight": 0.0309, "tier": "validated", "z": 5.48, "z_oos": 0.75, "n": 1182, "win_rate": 49.8, "avg_entry": 0.42, "band_0204": 0.23, "rank": 12, "arch": "value", "wins": 589}, {"wallet": "0xc684828f6b03487759ced2ebdd975f91f3532228", "name": "oliman2", "weight": 0.0307, "tier": "validated", "z": 5.44, "z_oos": 2.45, "n": 1696, "win_rate": 51.4, "avg_entry": 0.46, "band_0204": 0.14, "rank": 13, "arch": "value", "wins": 872}, {"wallet": "0x8d650d146740463611db1f3974ae9b922953ce8f", "name": "PWBR", "weight": 0.0283, "tier": "validated", "z": 5.02, "z_oos": 2.29, "n": 1516, "win_rate": 35.6, "avg_entry": 0.31, "band_0204": 0.11, "rank": 14, "arch": "value", "wins": 540}, {"wallet": "0x6ab434242be94f834de8d38ba2de0b4cbfdaa81b", "name": "STAYCALM", "weight": 0.0277, "tier": "validated", "z": 4.91, "z_oos": 2.9, "n": 2007, "win_rate": 94.3, "avg_entry": 0.92, "band_0204": 0.01, "rank": 15, "arch": "favorite", "wins": 1893}, {"wallet": "0x5f7832a6d8621345922490c74f4e525db20cbfca", "name": "pupe", "weight": 0.027, "tier": "validated", "z": 4.79, "z_oos": 2.95, "n": 2000, "win_rate": 41.5, "avg_entry": 0.37, "band_0204": 0.18, "rank": 16, "arch": "value", "wins": 830}, {"wallet": "0xb615ca2e43ac4d650bbd352de56643989b546d93", "name": "Lihuiying", "weight": 0.0247, "tier": "validated", "z": 4.38, "z_oos": 3.86, "n": 1187, "win_rate": 57.5, "avg_entry": 0.52, "band_0204": 0.21, "rank": 17, "arch": "balanced", "wins": 683}, {"wallet": "0x48270d81cfe598ae0379ca535a26dc41e3e9080d", "name": "DiogoBNF566", "weight": 0.024, "tier": "validated", "z": 4.26, "z_oos": 2.75, "n": 1155, "win_rate": 93.2, "avg_entry": 0.91, "band_0204": 0.01, "rank": 18, "arch": "favorite", "wins": 1076}, {"wallet": "0xd189664c5308903476f9f079820431e4fd7d06f4", "name": "rwo", "weight": 0.0237, "tier": "validated", "z": 4.2, "z_oos": 3.87, "n": 2000, "win_rate": 53.1, "avg_entry": 0.5, "band_0204": 0.12, "rank": 19, "arch": "balanced", "wins": 1062}, {"wallet": "0x8cd9439c1205da4c9ba18559cdcfe2e12278190e", "name": "kaslas", "weight": 0.0233, "tier": "validated", "z": 4.13, "z_oos": 3.14, "n": 2038, "win_rate": 50.6, "avg_entry": 0.47, "band_0204": 0.31, "rank": 20, "arch": "value", "wins": 1031}, {"wallet": "0x1c7b8b9e0c9a5215d5b84553130029e5d1ae315d", "name": "ksamlsa", "weight": 0.0217, "tier": "validated", "z": 3.85, "z_oos": 3.54, "n": 2000, "win_rate": 50.8, "avg_entry": 0.47, "band_0204": 0.3, "rank": 21, "arch": "value", "wins": 1016}, {"wallet": "0x689c37af05b28153d718757a5b3c1008c4226b1e", "name": "amnesia12", "weight": 0.0193, "tier": "validated", "z": 3.43, "z_oos": 5.3, "n": 2047, "win_rate": 57.5, "avg_entry": 0.54, "band_0204": 0.13, "rank": 22, "arch": "balanced", "wins": 1177}, {"wallet": "0x51f9122c7ed2ceb749d8d63617153e98d3ba19a0", "name": "kozelblack", "weight": 0.019, "tier": "validated", "z": 3.37, "z_oos": 3.29, "n": 1267, "win_rate": 98.6, "avg_entry": 0.97, "band_0204": 0.0, "rank": 23, "arch": "favorite", "wins": 1249}, {"wallet": "0xb36b3af57e480c750bcebed7be2d8afd24380cb1", "name": "Didiaodiao", "weight": 0.0189, "tier": "validated", "z": 3.35, "z_oos": 2.69, "n": 1050, "win_rate": 47.0, "avg_entry": 0.42, "band_0204": 0.25, "rank": 24, "arch": "value", "wins": 494}, {"wallet": "0x50c0959535cf830f6b73c5366a02f2cce3aa1600", "name": "LidoRzitoni", "weight": 0.0188, "tier": "validated", "z": 3.34, "z_oos": 1.56, "n": 213, "win_rate": 34.7, "avg_entry": 0.26, "band_0204": 0.31, "rank": 25, "arch": "value", "wins": 74}, {"wallet": "0x4f7d834c2292157e8c1c34653a60dff3cd8ab3ff", "name": "52463434", "weight": 0.0187, "tier": "validated", "z": 3.32, "z_oos": 1.2, "n": 1101, "win_rate": 40.4, "avg_entry": 0.36, "band_0204": 0.21, "rank": 26, "arch": "value", "wins": 445}, {"wallet": "0xf4f88a1e25ff5dfae68326eb62049d6a1b7c5bf1", "name": "cosmicsteaks", "weight": 0.0187, "tier": "validated", "z": 3.32, "z_oos": 2.96, "n": 2030, "win_rate": 43.4, "avg_entry": 0.4, "band_0204": 0.3, "rank": 27, "arch": "value", "wins": 881}, {"wallet": "0x6d3c9fe9cb9a7e006c99b13bdd0451ab5059c74a", "name": "0x6D3C9fE9CB9A7e006C99b13bDd0451aB5059C74a-1775205794013", "weight": 0.0186, "tier": "validated", "z": 3.3, "z_oos": 0.24, "n": 1310, "win_rate": 29.8, "avg_entry": 0.26, "band_0204": 0.4, "rank": 28, "arch": "value", "wins": 390}, {"wallet": "0x558f2f82cf0394c28ce3c8e117ee747aeab51a56", "name": "LesterDiamond", "weight": 0.0183, "tier": "validated", "z": 3.25, "z_oos": 1.1, "n": 1550, "win_rate": 54.6, "avg_entry": 0.53, "band_0204": 0.05, "rank": 29, "arch": "balanced", "wins": 846}, {"wallet": "0xa75f077c6e2510b020967c6230bac2bf342300f0", "name": "0xa75f077c\u2026", "weight": 0.0183, "tier": "validated", "z": 3.25, "z_oos": 1.2, "n": 900, "win_rate": 47.2, "avg_entry": 0.42, "band_0204": 0.38, "rank": 30, "arch": "value", "wins": 425}, {"wallet": "0x34f4c3118569f32ef02441326305bca0ff5816bd", "name": "Walede-", "weight": 0.0183, "tier": "validated", "z": 3.25, "z_oos": 0.84, "n": 2122, "win_rate": 30.3, "avg_entry": 0.27, "band_0204": 0.47, "rank": 31, "arch": "value", "wins": 643}];
|
||
const fmtW=w=>w.length>14?w.slice(0,6)+'…'+w.slice(-4):w;
|
||
let sortK='z',asc=false,open=null;
|
||
const body=document.getElementById('body');
|
||
function render(){
|
||
const q=document.getElementById('q').value.toLowerCase();
|
||
const af=document.getElementById('arch').value;
|
||
let rows=DATA.filter(r=>(!af||r.arch===af)&&
|
||
(!q||(r.name||'').toLowerCase().includes(q)||r.wallet.toLowerCase().includes(q)));
|
||
rows.sort((a,b)=>{const x=a[sortK],y=b[sortK];return (asc?1:-1)*((x>y)-(x<y));});
|
||
body.innerHTML=rows.map(r=>{
|
||
const zc=r.z>=10?'var(--violet)':r.z>=6?'var(--green)':'var(--fg)';
|
||
const oc=r.z_oos>=5?'var(--green)':r.z_oos>=3?'var(--amber)':'var(--red)';
|
||
const bw=Math.round(r.band_0204*46);
|
||
return `<tr class="row" data-w="${r.wallet}">
|
||
<td>${r.rank}</td>
|
||
<td class="name">${r.name||fmtW(r.wallet)}<div class="mono">${fmtW(r.wallet)}</div></td>
|
||
<td class="z" style="color:${zc}">${r.z.toFixed(1)}</td>
|
||
<td class="z" style="color:${oc}">${r.z_oos==null?'—':r.z_oos.toFixed(1)}</td>
|
||
<td>${r.wins}/${r.n}</td>
|
||
<td>${r.win_rate.toFixed(0)}%</td>
|
||
<td>${r.avg_entry.toFixed(2)}</td>
|
||
<td><span class="bar" style="width:${bw}px"></span> ${(r.band_0204*100).toFixed(0)}%</td>
|
||
<td><span class="pill ${r.arch}">${r.arch}</span></td></tr>`;
|
||
}).join('')||'<tr><td colspan="9" style="text-align:center;color:var(--dim);padding:24px">no matches</td></tr>';
|
||
}
|
||
body.addEventListener('click',async e=>{
|
||
const tr=e.target.closest('tr.row'); if(!tr)return;
|
||
const w=tr.dataset.w;
|
||
const nx=tr.nextElementSibling;
|
||
if(nx&&nx.classList.contains('det')){nx.remove();return;}
|
||
document.querySelectorAll('tr.det').forEach(x=>x.remove());
|
||
const d=document.createElement('tr');d.className='det';
|
||
d.innerHTML=`<td colspan="9">loading recent trades… · <a href="https://polymarket.com/profile/${w}" target="_blank">open profile ↗</a></td>`;
|
||
tr.after(d);
|
||
try{
|
||
const r=await fetch(`https://data-api.polymarket.com/activity?user=${w}&type=TRADE&limit=8`);
|
||
const ts=await r.json();
|
||
const rows=(ts||[]).map(t=>`<div class="trade"><span class="${t.side==='BUY'?'b':'s'}">${t.side}</span>
|
||
<span>${(t.outcome||'')} · ${(t.title||'').slice(0,52)}</span>
|
||
<span style="margin-left:auto;color:var(--dim)">${((t.price||0)*100).toFixed(0)}¢</span></div>`).join('');
|
||
d.firstChild.innerHTML=`<a href="https://polymarket.com/profile/${w}" target="_blank">open profile ↗</a><div style="margin-top:6px">${rows||'no recent trades'}</div>`;
|
||
}catch(err){d.firstChild.innerHTML=`<a href="https://polymarket.com/profile/${w}" target="_blank">open profile ↗</a> · live feed unavailable`;}
|
||
});
|
||
document.querySelectorAll('th').forEach(th=>th.onclick=()=>{
|
||
const k=th.dataset.k; if(k===sortK)asc=!asc;else{sortK=k;asc=(k==='rank'||k==='avg_entry');} render();});
|
||
document.getElementById('q').oninput=render;
|
||
document.getElementById('arch').onchange=render;
|
||
document.getElementById('sort').onchange=e=>{sortK=e.target.value;asc=false;render();};
|
||
render();
|
||
</script></body></html> |