crypttrace 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
crypttrace/funder.py ADDED
@@ -0,0 +1,76 @@
1
+ """First-funder heuristic — the classic on-chain deanonymization primitive.
2
+
3
+ A wallet can't do anything without gas, and its first gas has to come from
4
+ somewhere. Whoever sent a wallet its first incoming ETH "bootstrapped" it.
5
+ Following that funding link backward, address by address, very often lands on a
6
+ funding hub or — the prize — a centralised-exchange withdrawal, which is a KYC
7
+ identification point. Investigators like ZachXBT lean on this constantly to tie
8
+ "unrelated" laundering wallets back to a single controller.
9
+
10
+ Limitation: this uses normal (external) transactions. Wallets first funded by an
11
+ internal contract call (some exchanges, disperse tools) need internal-tx data,
12
+ a natural next extension.
13
+ """
14
+ from typing import Optional, List, Dict
15
+
16
+ from crypttrace.fetchers import etherscan
17
+ from crypttrace.labels import labels
18
+ from crypttrace import config
19
+
20
+
21
+ def first_funder(address: str, chain: str = "eth") -> Optional[dict]:
22
+ """Return the first address that funded this wallet (its bootstrapping funder).
23
+
24
+ Works on every supported chain. {funder, value, timestamp, hash} or None.
25
+ """
26
+ from crypttrace import chains
27
+ me = address if chain in ("btc", "tron", "sol") else address.lower()
28
+ rows = chains.transfers(address, chain, limit=200, oldest_first=True)
29
+ for r in rows: # ascending => first match is the earliest funding
30
+ if r.get("to") != me or r.get("value", 0) <= 0:
31
+ continue
32
+ return {
33
+ "funder": r.get("from", ""),
34
+ "value": r.get("value", 0.0),
35
+ "timestamp": str(r.get("timestamp", 0)),
36
+ "hash": r.get("hash", ""),
37
+ }
38
+ return None
39
+
40
+
41
+ def _terminal(address: str) -> bool:
42
+ """A labelled entity worth stopping at (exchange = KYC point, or flagged)."""
43
+ return labels.type_of(address) in ("exchange", "mixer", "sanctioned", "bridge")
44
+
45
+
46
+ def funding_chain(address: str, chain: str = "eth", max_hops: int = 6) -> List[Dict]:
47
+ """Walk the funding link backward: who funded X, who funded that funder, …
48
+
49
+ Returns a list of hops, each {address, funder, value, timestamp, funder_type,
50
+ funder_label, terminal}. Stops at a labelled entity, a dead end, or a cycle.
51
+ """
52
+ chain_hops: List[Dict] = []
53
+ seen = {address.lower()}
54
+ current = address.lower()
55
+
56
+ for _ in range(max_hops):
57
+ info = first_funder(current, chain)
58
+ if info is None:
59
+ break
60
+ funder = info["funder"]
61
+ hop = {
62
+ "address": current,
63
+ "funder": funder,
64
+ "value": info["value"],
65
+ "timestamp": info["timestamp"],
66
+ "funder_type": labels.type_of(funder),
67
+ "funder_label": labels.label_of(funder),
68
+ "terminal": _terminal(funder),
69
+ }
70
+ chain_hops.append(hop)
71
+ if hop["terminal"] or funder in seen:
72
+ break
73
+ seen.add(funder)
74
+ current = funder
75
+
76
+ return chain_hops
@@ -0,0 +1,204 @@
1
+ """One-command investigation for people who aren't investigators.
2
+
3
+ `crypttrace investigate <address>` runs the whole analysis — profile, trace,
4
+ first-funder, off-ramp — then answers the question a victim actually has:
5
+ *what do I do now?*
6
+
7
+ The guidance is deliberately conservative. Recovering stolen crypto is rare and
8
+ depends on exchanges and law enforcement, not on this tool. Overpromising to
9
+ someone who just lost money would be its own kind of harm, so the wording says
10
+ what is realistically possible and what isn't.
11
+ """
12
+ from datetime import datetime, timezone
13
+ from pathlib import Path
14
+ from typing import Dict, List, Optional
15
+
16
+ from crypttrace import chains, prices, report as report_mod, trace as trace_mod
17
+ from crypttrace import funder as funder_mod, offramp as offramp_mod
18
+ from crypttrace.labels import labels
19
+
20
+
21
+ def _dedupe(findings: List[dict]) -> List[dict]:
22
+ best: Dict[str, dict] = {}
23
+ for f in findings:
24
+ cur = best.get(f["address"])
25
+ if cur is None or f["value_reached"] > cur["value_reached"]:
26
+ best[f["address"]] = f
27
+ return sorted(best.values(), key=lambda f: f["risk"], reverse=True)
28
+
29
+
30
+ def analyse(address: str, chain: str = "eth", asset: Optional[dict] = None,
31
+ depth: int = 3, branching: int = 3) -> dict:
32
+ """Run every check and return a structured result (no printing)."""
33
+ result = {
34
+ "address": address, "chain": chain,
35
+ "asset": asset["symbol"] if asset else chains.symbol(chain),
36
+ "generated": datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC"),
37
+ "errors": [],
38
+ }
39
+
40
+ hit = labels.lookup(address)
41
+ result["label"] = hit["name"] if hit else None
42
+ result["type"] = labels.type_of(address)
43
+ result["risk"] = labels.risk_score(address)
44
+
45
+ try:
46
+ result["balance"] = chains.balance(address, chain)
47
+ rows = chains.transfers(address, chain, limit=1000, asset=asset)
48
+ result["transfers"] = len(rows)
49
+ result["first_seen"] = rows[-1]["timestamp"] if rows else None
50
+ result["last_seen"] = rows[0]["timestamp"] if rows else None
51
+ except chains.ChainError as e:
52
+ result["errors"].append(str(e))
53
+ result["balance"], result["transfers"] = 0.0, 0
54
+
55
+ try:
56
+ tree, findings = trace_mod.build(address, chain, depth, branching, asset)
57
+ result["tree"] = tree
58
+ result["findings"] = _dedupe(findings)
59
+ except chains.ChainError as e:
60
+ result["errors"].append(str(e))
61
+ result["tree"], result["findings"] = None, []
62
+
63
+ # where did the money end up?
64
+ types = {f["type"] for f in result["findings"]}
65
+ result["exchanges"] = [f for f in result["findings"] if f["type"] in ("exchange", "offramp")]
66
+ result["mixers"] = [f for f in result["findings"] if f["type"] == "mixer"]
67
+ result["sanctioned"] = [f for f in result["findings"] if f["type"] == "sanctioned"]
68
+ result["bridges"] = [f for f in result["findings"] if f["type"] == "bridge"]
69
+
70
+ try:
71
+ result["funding"] = funder_mod.funding_chain(address, chain, 6)
72
+ except chains.ChainError as e:
73
+ result["errors"].append(str(e))
74
+ result["funding"] = []
75
+
76
+ try:
77
+ result["offramp"] = offramp_mod.detect(address, chain) if chains.is_evm(chain) else None
78
+ except Exception:
79
+ result["offramp"] = None
80
+
81
+ result["guidance"] = build_guidance(result)
82
+ return result
83
+
84
+
85
+ def _service_name(label: str) -> str:
86
+ """'Binance 14 (hot wallet)' -> 'Binance' — victims need the company, not our label."""
87
+ import re
88
+ name = re.sub(r"\(.*?\)", "", label) # drop parentheticals
89
+ name = name.split(" deposit")[0].split(":")[0]
90
+ name = re.sub(r"\s+\d+\s*$", "", name.strip()) # drop trailing wallet numbers
91
+ return name.strip() or label
92
+
93
+
94
+ def build_guidance(r: dict) -> dict:
95
+ """Turn findings into plain-language next steps."""
96
+ steps: List[dict] = []
97
+ exchanges = r["exchanges"]
98
+ ex_names = sorted({_service_name(f["label"]) for f in exchanges}) if exchanges else []
99
+
100
+ if exchanges:
101
+ headline = ("Good news, relatively speaking: the trail reaches a "
102
+ "cryptocurrency exchange. That is the single best outcome for a "
103
+ "victim, because exchanges verify their customers' identity.")
104
+ steps.append({
105
+ "title": f"Contact {', '.join(ex_names)} immediately",
106
+ "body": ("Exchanges can freeze funds and know who owns the receiving account, "
107
+ "but only they can act on it — and only quickly. Find their support "
108
+ "page and ask to be put through to the compliance / law-enforcement "
109
+ "team; say the words \"stolen funds\" and \"deposit address\". "
110
+ "Attach the report this tool just saved."),
111
+ "urgent": True,
112
+ })
113
+ elif r["mixers"]:
114
+ headline = ("The funds were sent into a mixer (a privacy service). On-chain the "
115
+ "trail effectively ends there — this is the hardest outcome, and "
116
+ "tracing further is not reliably possible with public data.")
117
+ elif r["sanctioned"]:
118
+ headline = ("The funds moved to wallets on international sanctions lists, which "
119
+ "usually means an organised group. Law enforcement is the only "
120
+ "realistic route here — but such cases are actively investigated.")
121
+ elif r["bridges"]:
122
+ headline = ("The funds were moved to another blockchain through a bridge. The "
123
+ "trail continues on the destination chain rather than ending.")
124
+ steps.append({
125
+ "title": "Continue the trace on the other chain",
126
+ "body": "Run: crypttrace crosschain <address> --window 48",
127
+ "urgent": False,
128
+ })
129
+ else:
130
+ headline = ("The funds have not yet reached an exchange or mixer within the "
131
+ "traced depth — they are sitting in wallets, or moved further than "
132
+ "this trace looked.")
133
+ steps.append({
134
+ "title": "Look deeper",
135
+ "body": "Run the trace again with a larger --depth (4 or 5).",
136
+ "urgent": False,
137
+ })
138
+
139
+ # always-applicable steps
140
+ steps.append({
141
+ "title": "Report it to the police",
142
+ "body": ("File a report even if it feels pointless — exchanges usually need a "
143
+ "police reference number before they can release account details, so "
144
+ "this is often what unlocks everything else. In the US file at "
145
+ "ic3.gov; in the UK at Action Fraud; elsewhere, your national police "
146
+ "cybercrime unit."),
147
+ "urgent": True,
148
+ })
149
+ steps.append({
150
+ "title": "Report the addresses publicly",
151
+ "body": ("Submit the thief's addresses to chainabuse.com. It is free, and it "
152
+ "warns others plus feeds the databases exchanges consult."),
153
+ "urgent": False,
154
+ })
155
+ steps.append({
156
+ "title": "Keep watching the money",
157
+ "body": (f"Run: crypttrace watch add {r['address']} --chain {r['chain']}\n"
158
+ "then: crypttrace watch run\n"
159
+ "If the funds later move to an exchange, that is your moment to act — "
160
+ "the tool will alert you loudly."),
161
+ "urgent": False,
162
+ })
163
+ steps.append({
164
+ "title": "Preserve your evidence",
165
+ "body": ("Keep the saved report, plus screenshots of the original transaction, "
166
+ "any messages from the scammer, and the wallet you used. Do not delete "
167
+ "the wallet."),
168
+ "urgent": False,
169
+ })
170
+
171
+ warning = ("Nobody can 'hack back' your coins. Anyone who contacts you offering to "
172
+ "recover your funds for an upfront fee is running a second scam aimed at "
173
+ "victims of the first — this is extremely common. Real help comes from "
174
+ "exchanges, police and licensed lawyers, and never arrives via a DM.")
175
+
176
+ expectation = ("Being honest: most stolen crypto is not recovered. What decides it is "
177
+ "speed and whether the money touches a regulated exchange. This tool "
178
+ "gives you the evidence and the timing — it cannot move funds or "
179
+ "identify a person by itself.")
180
+
181
+ return {"headline": headline, "steps": steps,
182
+ "warning": warning, "expectation": expectation}
183
+
184
+
185
+ def guidance_markdown(r: dict) -> str:
186
+ g = r["guidance"]
187
+ L = ["\n## What to do next\n\n", g["headline"] + "\n\n"]
188
+ for i, s in enumerate(g["steps"], 1):
189
+ mark = " **(urgent)**" if s.get("urgent") else ""
190
+ L.append(f"{i}. **{s['title']}**{mark} \n {s['body']}\n\n")
191
+ L.append(f"\n> **Warning about 'recovery services'.** {g['warning']}\n")
192
+ L.append(f"\n> **Realistic expectations.** {g['expectation']}\n")
193
+ return "".join(L)
194
+
195
+
196
+ def save_case(r: dict, out_dir: Path, asset: Optional[dict] = None) -> Path:
197
+ """Write the full report plus the guidance the victim can act on."""
198
+ md_path = report_mod.generate(r["address"], r["chain"], 3, 3, out_dir, asset)
199
+ try:
200
+ with open(md_path, "a", encoding="utf-8") as fh:
201
+ fh.write(guidance_markdown(r))
202
+ except OSError:
203
+ pass
204
+ return md_path
File without changes
@@ -0,0 +1,102 @@
1
+ """Auditing the label database.
2
+
3
+ A label is a claim about who controls an address. Acted on, it can get someone's
4
+ withdrawal frozen — so each one has to be checkable rather than asserted. This
5
+ module validates the whole database:
6
+
7
+ * the address is well-formed and its checksum passes;
8
+ * the claim carries a **source** that a reader can go and verify;
9
+ * nothing is silently duplicated or contradicted.
10
+
11
+ Run it with `crypttrace labels audit`. Unsourced labels are reported, not
12
+ hidden: the honest position is to show which claims are evidenced and which are
13
+ inherited.
14
+ """
15
+ import json
16
+ from pathlib import Path
17
+ from typing import Dict, List
18
+
19
+ from crypttrace import addresses
20
+
21
+ _HERE = Path(__file__).parent
22
+
23
+ # how strongly a source supports the claim
24
+ SOURCE_RANK = {
25
+ "self-published": 3, # the exchange or service publishes the address itself
26
+ "official-list": 3, # a government or regulator list, e.g. OFAC SDN
27
+ "explorer-tag": 2, # a block explorer's own label
28
+ "research": 2, # a named report or researcher, cited
29
+ "community": 1, # crowd-sourced database
30
+ "": 0, # no source recorded
31
+ }
32
+
33
+
34
+ def _chain_of(address: str) -> str:
35
+ a = address.strip()
36
+ if a.startswith("0x"):
37
+ return "eth"
38
+ if a.startswith(("bc1", "1", "3")):
39
+ return "btc"
40
+ if a.startswith("T") and len(a) == 34:
41
+ return "tron"
42
+ return "sol"
43
+
44
+
45
+ def audit() -> Dict:
46
+ """Check every label: format, checksum, and whether a source is recorded."""
47
+ path = _HERE / "known.json"
48
+ raw = json.loads(path.read_text(encoding="utf-8"))
49
+
50
+ problems: List[dict] = []
51
+ unsourced: List[dict] = []
52
+ ok = 0
53
+ by_type: Dict[str, int] = {}
54
+ by_source: Dict[str, int] = {}
55
+
56
+ for addr, meta in raw.items():
57
+ if not isinstance(meta, dict):
58
+ problems.append({"address": addr, "issue": "malformed entry"})
59
+ continue
60
+ chain = meta.get("chain") or _chain_of(addr)
61
+ valid, why = addresses.validate(addr, chain)
62
+ if not valid:
63
+ problems.append({"address": addr, "name": meta.get("name", ""),
64
+ "chain": chain, "issue": why})
65
+ continue
66
+ ok += 1
67
+ by_type[meta.get("type", "?")] = by_type.get(meta.get("type", "?"), 0) + 1
68
+ src = meta.get("source", "")
69
+ kind = meta.get("source_kind", "")
70
+ by_source[kind or "none"] = by_source.get(kind or "none", 0) + 1
71
+ if not src:
72
+ unsourced.append({"address": addr, "name": meta.get("name", ""),
73
+ "type": meta.get("type", "")})
74
+
75
+ return {
76
+ "total": len(raw),
77
+ "valid": ok,
78
+ "problems": problems,
79
+ "unsourced": unsourced,
80
+ "by_type": by_type,
81
+ "by_source": by_source,
82
+ "sourced_share": (len(raw) - len(unsourced)) / len(raw) if raw else 0.0,
83
+ "path": str(path),
84
+ }
85
+
86
+
87
+ def evidence(address: str) -> Dict:
88
+ """Why do we claim this address is what we say it is?"""
89
+ raw = json.loads((_HERE / "known.json").read_text(encoding="utf-8"))
90
+ # Tron/Solana keys keep their case (it carries the checksum), but callers
91
+ # often pass addresses already lower-cased by the label layer.
92
+ meta = raw.get(address) or {k.lower(): v for k, v in raw.items()}.get(address.lower())
93
+ if not meta:
94
+ return {"address": address, "known": False}
95
+ return {
96
+ "address": address, "known": True,
97
+ "name": meta.get("name", ""), "type": meta.get("type", ""),
98
+ "source": meta.get("source", ""),
99
+ "source_kind": meta.get("source_kind", ""),
100
+ "strength": SOURCE_RANK.get(meta.get("source_kind", ""), 0),
101
+ "added": meta.get("added", ""),
102
+ }
@@ -0,0 +1,148 @@
1
+ {
2
+ "0x28c6c06298d514db089934071355e5743bf21d60": {"name": "Binance 14 (hot wallet)", "type": "exchange"},
3
+ "0x21a31ee1afc51d94c2efccaa2092ad1028285549": {"name": "Binance 15", "type": "exchange"},
4
+ "0xdfd5293d8e347dfe59e90efd55b2956a1343963d": {"name": "Binance 16", "type": "exchange"},
5
+ "0x56eddb7aa87536c09ccc2793473599fd21a8b17f": {"name": "Binance 17", "type": "exchange"},
6
+ "0x9696f59e4d72e237be84ffd425dcad154bf96976": {"name": "Binance 18", "type": "exchange"},
7
+ "0x3cd751e6b0078be393132286c442345e5dc49699": {"name": "Coinbase 4", "type": "exchange"},
8
+ "0x71660c4005ba85c37ccec55d0c4493e66fe775d3": {"name": "Coinbase 1", "type": "exchange"},
9
+ "0x503828976d22510aad0201ac7ec88293211d23da": {"name": "Coinbase 2", "type": "exchange"},
10
+ "0x1522900b6dafac587d499a862861c0869be6e428": {"name": "OKX", "type": "exchange"},
11
+ "0x2faf487a4414fe77e2327f0bf4ae2a264a776ad2": {"name": "FTX (defunct)", "type": "exchange"},
12
+ "0x722122df12d4e14e13ac3b6895a86e84145b6967": {"name": "Tornado Cash: Router", "type": "mixer"},
13
+ "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b": {"name": "Tornado Cash: 0.1 ETH", "type": "mixer"},
14
+ "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf": {"name": "Tornado Cash: 10 ETH", "type": "mixer"},
15
+ "0xa160cdab225685da1d56aa342ad8841c3b53f291": {"name": "Tornado Cash: 100 ETH", "type": "mixer"},
16
+ "0x12d66f87a04a9e220743712ce6d9bb1b5616b8fc": {"name": "Tornado Cash: 1 ETH", "type": "mixer"},
17
+ "0x3ee18b2214aff97000d974cf647e7c347e8fa585": {"name": "Wormhole: Token Bridge", "type": "bridge"},
18
+ "0x99c9fc46f92e8a1c0dec1b1747d010903e884be1": {"name": "Optimism: Gateway (L1 Bridge)", "type": "bridge"},
19
+ "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f": {"name": "Arbitrum: Delayed Inbox", "type": "bridge"},
20
+ "0xa3a7b6f88361f48403514059f1f16c8e78d60eec": {"name": "Arbitrum: L1 ERC20 Gateway", "type": "bridge"},
21
+ "0x3154cf16ccdb4c6d922629664174b904d80f2c35": {"name": "Base: Bridge (L1)", "type": "bridge"},
22
+ "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5": {"name": "Across: Ethereum SpokePool V2", "type": "bridge"},
23
+ "0x4d9079bb4165aeb4084c526a32695dcfd2f77381": {"name": "Across: Ethereum SpokePool V2 (old)", "type": "bridge"},
24
+ "0x2796317b0ff8538f253012862c06787adfb8ceb6": {"name": "Synapse: Bridge", "type": "bridge"},
25
+ "0x5427fefa711eff984124bfbb1ab6fbf5e3da1820": {"name": "Celer: cBridge V2", "type": "bridge"},
26
+ "0x841ce48f9446c8e281d3f1444cb859b4a6d0738c": {"name": "Celer: cBridge (old)", "type": "bridge"},
27
+ "0x098b716b8aaf21512996dc57eb0615e2383e2f96": {"name": "Ronin Bridge Exploiter (Lazarus)", "type": "sanctioned"},
28
+ "0x2f2974fabc54dba33442261211c06bd20e0feefc": {"name": "AFX Trade Exploiter (Jul 2026, $24M)", "type": "scam", "chain": "eth", "source": "Lookonchain, 23 Jul 2026 - received 24.15M USDC bridged from Arbitrum, swapped to 12,467 ETH", "source_kind": "research", "added": "2026-08-01"},
29
+
30
+ "bc1qq85v2c926eg6pgxhwp6q7lf6cnsz80qs3fcu9r": {"name": "Coldcard Exploiter (Jul 2026) - consolidation", "type": "scam", "chain": "btc", "source": "Galaxy Research flow-of-funds thread, 31 Jul 2026, based on Block (clay_garrett) analysis", "source_kind": "research", "added": "2026-08-09"},
31
+ "bc1qx76cae2706qd5q576feh7xq8rfcsjpf2htfhe3": {"name": "Coldcard Exploiter (Jul 2026) - 398 BTC pile", "type": "scam", "chain": "btc", "source": "Galaxy Research flow-of-funds thread, 31 Jul 2026; receipt confirmed by victim report (kevinwood)", "source_kind": "research", "added": "2026-08-09"},
32
+ "bc1q8jy96fe5lf8vfugydnte3cguk92gpev7kwtp3q": {"name": "Coldcard Exploiter (Jul 2026) - 89 BTC pile", "type": "scam", "chain": "btc", "source": "Galaxy Research flow-of-funds thread, 31 Jul 2026", "source_kind": "research", "added": "2026-08-09"},
33
+ "bc1qnk4zh9qcnap2mycp56qjrgza3cc8ylrh8fecp0": {"name": "Coldcard Exploiter (Jul 2026) - relay to consolidation", "type": "scam", "chain": "btc", "source": "Galaxy Research thread; role corrected to relay by own tracing - received 594.477 BTC from 500 addresses, forwarded 562.020", "source_kind": "research", "added": "2026-08-09"},
34
+ "bc1qc779m8gec84k3t0ffvu0pps94zheht7lr7ueyn": {"name": "Coldcard Exploiter (Jul 2026) - collector, absent from public lists", "type": "scam", "chain": "btc", "source": "named by victim (kevinwood, 31 Jul 2026); 491 inbound sweeps confirmed on-chain", "source_kind": "research", "added": "2026-08-09"},
35
+ "bc1qdaarag7729c2n4l2wnyt3hkhfpcs66n98z7uuh": {"name": "Coldcard Exploiter (Jul 2026) - collector C1", "type": "scam", "chain": "btc", "source": "own tracing: 100 inbound sweeps totalling 88.850 BTC at 01:10 UTC, forwarded to the 89 BTC pile", "source_kind": "research", "added": "2026-08-09"},
36
+ "bc1qh0l7q0mca3ln7wsl9luwns0jc9jhgrtft025l4": {"name": "Coldcard Exploiter (Jul 2026) - collector C2", "type": "scam", "chain": "btc", "source": "own tracing: 78 inbound sweeps totalling 0.769 BTC at 01:10 UTC; totals reconcile with chain", "source_kind": "research", "added": "2026-08-09"},
37
+
38
+ "1DEuKerATHWRfyB14s6QCt4LPkfCTx4zaW": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
39
+ "1PJiGp2yDLvUgqeBsuZVCBADArNsk6XEiw": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
40
+ "1PPWMe42cywnM61nVatkmiggwdRQYLiCyS": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
41
+ "1Pzaqw98PeRfyHypfqyEgg5yycJRsENrE7": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
42
+ "32BgTv3NSYbMsBTwDbNNN2GKZPCTJSkqDv": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
43
+ "32KqbtrRVxC6GLUJgJhVQtFTaCdq4GrgBb": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
44
+ "32bhzEniykYRFADVaRM5PYswsjC23cxtes": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
45
+ "34HpHYiyQwg69gFmCq2BGHjF1DZnZnBeBP": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
46
+ "34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
47
+ "36oiSkAi1VVuUpfdv8E2V5fZ2EarHRJpis": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
48
+ "378GLcve92X2Q4UrCyoMFDL5k5QrzeG7JN": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
49
+ "395vnFScKQ1ay695C6v7gf89UzoFpx3WuJ": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
50
+ "39884E3j6KZj82FK4vcCrkUvWYL5MQaS3v": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
51
+ "3AQ8bAh88TQU7JV1H3ovXrwsuV6s3zYZuN": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
52
+ "3AeUiDpPPUrUBS377584sFCpx8KLfpX9Ry": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
53
+ "3AtnehKDkFPC1bKvdrEVPSRGCtxQH8F1R8": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
54
+ "3CySuFKbBS29M7rE5iJakZRNqb3msMeFoN": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
55
+ "3E97AjYaCq9QYnfFMtBCYiCEsN956Rvpj2": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
56
+ "3EVVc8e2rxwUuERtdJCduWig8DnpsUqyA6": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
57
+ "3F9CGMu7JSJnMHA8jFM2KgxuH6hhxtvENP": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
58
+ "3FHNBLobJnbCTFTVakh5TXmEneyf5PT61B": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
59
+ "3HdGoUTbcztBnS7UzY4vSPYhwr424CiWAA": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
60
+ "3HkgC2R5PhqyXy6RVFyemvxN1VuFbQiQ5V": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
61
+ "3JFJPpH8Chwo7CDbyYQ4XcfgcjEP1FGRMJ": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
62
+ "3JqPhvKkAPcFB3oLELBT7z2tQdjpnxuDi9": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
63
+ "3LQUu4v9z6KNch71j7kbj8GPeAGUo1FW6a": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
64
+ "3LcgLHzTvjLKBixBvkKGiadtiw2GBSKKqH": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
65
+ "3M219KR5vEneNb47ewrPfWyb5jQ2DjxRP6": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
66
+ "3M3EtJGx5Dy9nCATLDhyRCrKGc38QC9z2e": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
67
+ "3NPL82eaehTFh4r3StpHqVQBTnZJFaGsyy": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
68
+ "3NXCvmLGz9SxYi6TnjbBQfQMcwiZ1iQETa": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
69
+ "3NjHh71XgjikBoTNYdWgXiNeZcLaKNThgb": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
70
+ "3PXBET2GrTwCamkeDzKCx8DeGDyrbuGKoc": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
71
+ "3QK5vQ9hucSg8ZC8Vizq83qEWeHFLAWMud": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
72
+ "bc1q32lyrhp9zpww22phqjwwmelta0c8a5q990ghs6": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
73
+ "bc1q5n5dy7jgqhmpnmx44d3780qefzaphjreds0z9y": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
74
+ "bc1q5qvs2dzzydqt4ygfn0k0ertjnv8ctytgcdz7l0": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
75
+ "bc1q5rsc4uscnmemlwru8xsys26k3xgxewqfnf3k7j": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
76
+ "bc1q78ufzeu8w8fwvxuphrdlg446xhyptf28fkatu5": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
77
+ "bc1q7t9fxfaakmtk8pj7tdxjvwsng6y9x76czuaf5h": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
78
+ "bc1qdtmav38lca8yu3rrcknnqx5242cckgxqws7m72": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
79
+ "bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
80
+ "bc1qq393eyjh8hdjvcchy0mxquhh9wx8h3kzlkchfs": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
81
+ "12VuUfQHTGqWDvBzm8TBad1mZBm4hjGEzN": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-11-06", "source_kind": "self-published", "added": "2026-09-23"},
82
+ "1KuPikhUYtHz3fmSQ2UvotpUuN672NuEcm": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-18", "source_kind": "self-published", "added": "2026-09-23"},
83
+ "bc1qquax5zzensg9mkejdgq3q3h76v34cug96zk0f6": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-18", "source_kind": "self-published", "added": "2026-09-23"},
84
+ "36BddqksxL9RctZ8D8aFxKRFEbqPnEiDc6": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-27", "source_kind": "self-published", "added": "2026-09-23"},
85
+ "3FJ9hQuRtzy7pCqKHjeBGRDcY3fJbhHYXD": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-03", "source_kind": "self-published", "added": "2026-09-23"},
86
+ "3HkPQSi1xso1Zh1EeqLjkMpura63fr5HRn": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-03", "source_kind": "self-published", "added": "2026-09-23"},
87
+ "3Q6ZCgJ3e4shasccLHen1VNUpReZTsjmsR": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-03", "source_kind": "self-published", "added": "2026-09-23"},
88
+ "3KRduELtTmxBtqYpZviPysXoJDxdtdxFLZ": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-25", "source_kind": "self-published", "added": "2026-09-23"},
89
+ "3GdMytxx7d2b5ERwWmQttBWtKJmS8bjGj9": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-30", "source_kind": "self-published", "added": "2026-09-23"},
90
+ "bc1p7x4aaws8t8cmmccu39kun6cajglx6ntuta7lhyxjt2cwrw4k89zqn0wley": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-30", "source_kind": "self-published", "added": "2026-09-23"},
91
+ "31jUs8yQNVc9p6YuUPctWCkdhH7u8UiUba": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-04-23", "source_kind": "self-published", "added": "2026-09-23"},
92
+ "3BzYxZXkdpkrFTWzKkWGRoWXJMuN2Ko621": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-04-23", "source_kind": "self-published", "added": "2026-09-23"},
93
+ "3F1ZmTDAv6q3xrnT3tpm55DkCDzxhstU2Z": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-04-23", "source_kind": "self-published", "added": "2026-09-23"},
94
+ "3Kyo49ThRZPMukuYqPgqPejYeUpHvkA1EM": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-04-23", "source_kind": "self-published", "added": "2026-09-23"},
95
+ "3Nm3c4gqVmvCmeP1sYvDchbb1r4QMu6emn": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-04-23", "source_kind": "self-published", "added": "2026-09-23"},
96
+ "39CnKMu9KWvFAabLJ5BYghVfSqHgC2VShe": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-07-27", "source_kind": "self-published", "added": "2026-09-23"},
97
+ "34ryUknRsda7w9yXqzjLhgRPZLPV43rpsd": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-07-31", "source_kind": "self-published", "added": "2026-09-23"},
98
+ "bc1q9n7j6a5wwru6tad9xrlncnagresvyjt96pl3en": {"name": "Binance reserve wallet", "type": "exchange", "chain": "btc", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-07-31", "source_kind": "self-published", "added": "2026-09-23"},
99
+ "TAzsQ9Gx8eqFNFSKbeXrbi45CuVPHzA8wr": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
100
+ "TCEn8ogRSiqdqv26UhsJmQQemrgJS56ZBD": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
101
+ "TDqSquXBgUCLYvYC4XZgrprLK589dkhSCf": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
102
+ "TJCo98saj6WND61g1uuKwJ9GMWMT9WkJFo": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
103
+ "TJDENsfBJs4RFETt1X1W8wMDc8M5XnJhCe": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
104
+ "TKoMMAMrDCUY212N6M4pzmYABtgkgo7XZn": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
105
+ "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
106
+ "TMwf7KT8CCdUKuZfKNPTTjbYkFb3eGRbzY": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
107
+ "TNXoiAJ3dct8Fjg4M9fkLFh9S2v9TXc32G": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
108
+ "TQq26fUorctUZvrAgKg8Wz6QyYHvYd6xWK": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
109
+ "TQrY8tryqsYVCYS3MFbtffiPp2ccyn4STm": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
110
+ "TRGCqsUXeynKTgynp2j9g3sg7Nux2KtB3u": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
111
+ "TVGDpgtCs45PJE7ZMHhiC76L3v77qAwJW9": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
112
+ "TWd4WrZ9wn84f5x1hZhL4DHvk738ns5jwb": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
113
+ "TYASr5UV6HEcXatwdFQfmLVUqQQQMUxHLS": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
114
+ "TPtW5TEHhouj6KGshVu5ZQSKZA48QPBnXG": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-18", "source_kind": "self-published", "added": "2026-09-23"},
115
+ "TCLgK89AnXbC9rewvhNb9UgXCc2qJJpBXh": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-19", "source_kind": "self-published", "added": "2026-09-23"},
116
+ "TJ5usJLLwjwn7Pw3TPbdzreG7dvgKzfQ5y": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-19", "source_kind": "self-published", "added": "2026-09-23"},
117
+ "TJqwA7SoZnERE4zW5uDEiPkbz4B66h9TFj": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-19", "source_kind": "self-published", "added": "2026-09-23"},
118
+ "TK4ykR48cQQoyFcZ5N4xZCbsBaHcg6n3gJ": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-19", "source_kind": "self-published", "added": "2026-09-23"},
119
+ "TG7dDrtoG5MnLGyAJRep67oQcS4fsA6bwP": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-09-21", "source_kind": "self-published", "added": "2026-09-23"},
120
+ "TGoMnnRBeajEPEr1koNZv1x2XxAdWKjMWT": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-09-21", "source_kind": "self-published", "added": "2026-09-23"},
121
+ "THA53Hni9LtCeNs5AEeY45snQG4S5XMqqQ": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-09-21", "source_kind": "self-published", "added": "2026-09-23"},
122
+ "THFYbF3MFFJuxwVMRx3VyGrGKfqmeisumF": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-09-21", "source_kind": "self-published", "added": "2026-09-23"},
123
+ "TNDS4epCYNabWfA8RMax9BGXeUMWJcFbtN": {"name": "Binance reserve wallet", "type": "exchange", "chain": "tron", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-09-21", "source_kind": "self-published", "added": "2026-09-23"},
124
+ "28nYGHJyUVcVdxZtzKByBXEj127XnrUkrE3VaGuWj1ZU": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
125
+ "2ojv9BAiHUrvsm9gxDe7fJSzbNZSJcxZvf8dqmWGHG8S": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
126
+ "3gd3dqgtJ4jWfBfLYTX67DALFetjc5iS72sCgRhCkW2u": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
127
+ "3yFwqXBfZY4jBVUafQ1YEXw189y2dN3V5KQq9uzBDy1E": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
128
+ "5SDrsMNTYdhmApjfqYHDvjoW92f2S42vcc7zNDVcQ9Ej": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
129
+ "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
130
+ "6QJzieMYfp7yr3EdrePaQoG3Ghxs2wM98xSLRu8Xh56U": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
131
+ "6oCa9Tz8VXVp63WiFyruE5PD6yXz3pCsv6oGzUGvg9TP": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
132
+ "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
133
+ "BZ3kabSsMzbuJUguYxtmkRtzw7ACqw1DUMH8PcbvXiUr": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
134
+ "EPauhjQjjTBCpeBtszS3xGRASLpEJFM1cspSiFRXZa9Z": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
135
+ "G9RCBaYb8aBRxoe8QBC2ucGrVqjuZFysRhY8d56cnNT1": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
136
+ "GBrURzmtWujJRTA3Bkvo7ZgWuZYLMMwPCwre7BejJXnK": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
137
+ "GK35nWN6ZHSGZrRTf8kTQd8RkFCighChPEb41XwSFVAC": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
138
+ "H8BgJgae6qhMtf7BM2JtddywSQt11WdxHHxkGLNX5hss": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
139
+ "HXsKP7wrBWaQ8T2Vtjry3Nj3oUgwYcqq9vrHDM12G664": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
140
+ "c5f9zfpkKMD9N8uLqJcFeJAAz7v12vDMnup9Y6EeQkk": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-10-15", "source_kind": "self-published", "added": "2026-09-23"},
141
+ "38xCLm9kSExfGU1GdyVuX4vop7SZns9kU2mQyTmmMdUP": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-18", "source_kind": "self-published", "added": "2026-09-23"},
142
+ "EtwjSV65xPjZxDmmoNTw78gdYxLa1ayqVo4kXGsjhMiA": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2025-12-18", "source_kind": "self-published", "added": "2026-09-23"},
143
+ "AEkGD1y3LzaXxrh4xYqLkWu9MSYkY1knr2nRt1YPULsx": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-16", "source_kind": "self-published", "added": "2026-09-23"},
144
+ "ExFUyu3f5C9UW3zLZybVcXv156X2g5AxdZCZJvCh23w4": {"name": "Binance reserve wallet (custodied by Ceffu)", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-03-23", "source_kind": "self-published", "added": "2026-09-23"},
145
+ "3JR4ETCTVqnysiARm9LvuigzuXnDydbWXYYYpgZzzhDi": {"name": "Binance reserve wallet", "type": "exchange", "chain": "sol", "source": "Binance proof-of-reserves address list (binance.com/bapi/apex/v1/public/apex/market/por/address), fetched 2026-09-23; listed since 2026-08-31", "source_kind": "self-published", "added": "2026-09-23"},
146
+ "3LYJfcfHPXYJreMsASk2jkn69LWEYKzexb": {"name": "Binance (2022 reserve list)", "type": "exchange", "chain": "btc", "source": "Binance blog 'Our Commitment To Transparency' (2022-11-10, updated 2023-10-09); not in the 2026 PoR feed, so possibly retired", "source_kind": "self-published", "added": "2026-09-23"},
147
+ "TV6MuMXfmLbBqPZvBHdwFsDnQeVfnmiuSi": {"name": "Binance (2022 reserve list)", "type": "exchange", "chain": "tron", "source": "Binance blog 'Our Commitment To Transparency' (2022-11-10, updated 2023-10-09); not in the 2026 PoR feed, so possibly retired", "source_kind": "self-published", "added": "2026-09-23"}
148
+ }