BT$BTWnew$1.4B+1860839010629.0%社群$社群人生new$392K+389.0%NE$NEWnew$35.2K币安$币安好友new$19.7K+7.8%$大肥鱼new$22.8K+68.4%$Tauspdnew$67.7M+28.6%$CYBERCATnew$20.0K+96.2%BU$BUSHnew$35.2K💁‍$💁‍♀️new$19.5K+640.0%TS$TSnew$15.3K+75.7%CH$CHADnew$15.9K+86.3%$PSAnew$21.0K+61.4%RE$RESOURCEnew$35.2KDS$DSPnew$37.1K+7.0%$OCnew$22.0K+365.0%SI$SIRENnew$15.0K+536.0%$LEGOnew$114K+175.0%OC$OCnew$15.1K+203.0%$Grexnew$53.9K+31.6%$PSAnew$17.3K+33.3%$MEIMEInew$36.4K-11.4%LA$LAUNCHnew$18.3K+28.4%BT$BTWnew$8.0B+10596023460009.0%RE$RESOURCEnew$14.7K+66.2%$Emberbwnew$77.1K+56.7%PE$PEAKnew$32.2K+82.1%$大肥鱼new$11.9K+179.0%🏆吉$🏆吉祥new$98.8K+86.3%$Gangstarnew$13.3K+35.8%$NFLnew$30.4K+92.8%$LAUNCHnew$87.8K+779.0%$AGInew$2.7M+161414.0%$VEIL$789K-38.9%$PAID$2.7M-8.3%$BATON$4.9M-9.5%$DARK$825K-11.4%$XTO$13.2M+8.6%$MISTAKE$106K-85.7%$HOOKED$995K-13.4%$E/ACC$400K-14.6%
Website blueprint · 19 Oct 2026

maskmode.app

“MaskMode · Private routes for Solana”

Template-written 81 evidence items REA analysed 2 scripts
What this means for you

MaskMode talked to 4 outside services on a first visit, including 1 that measures visits or shows ads.E7

  • Tech check: the site claims on-chain / smart contracts, wallet connection, trading / swaps / bots and 2 more, and its public page shows matching evidence.E77E78E48E49E50
  • Before you click anything, the page loads analytics or ad services: Cloudflare Web Analytics.E7
  • Its code can ask your wallet to sign transactions. Read every wallet pop-up before approving.E46

Tech check

What the site says about itself, next to what its public page actually loads. Facts only, no verdict: you decide.

Evidence found

On-chain / smart contracts

“…ains: Ethereum, Base and BNB Chain. Solana, where most on-chain trading happens, had no access to it. 03 The connectio…”E77

Contract calls in its code: aggregate3, eip712Domain, addrE48E49E50E51

Blockchains named in its code: BaseE76

Wallet requests in its code: signTransaction, signMessageE46E47

Evidence found

Wallet connection

“maskmode CA DNM1…pump Copied Buy Soon Install Phantom Powered by NullMask Solana, in Mask Mode. NullMask's z…”E78

Wallet libraries in its code: viem, PhantomE12E13

Wallet requests in its code: signTransaction, signMessageE46E47

Evidence found

Trading / swaps / bots

“…n them. Cash out privately One signature. Every route. Swap in: NEAR Intents swaps your SOL to ETH on Base in abou…”E79

Transaction requests to your wallet: signTransactionE46

Evidence found

Own chain / L2 / ZK

“…m Powered by NullMask Solana, in Mask Mode. NullMask's zero-knowledge privacy pool, extended to Solana. Next wave in Live Le…”E80

Blockchains named in its code: BaseE76

Evidence found

A working app / platform

“…min · fee 0.5% MaskMode relay Up 180 ms, this site's /api The layer NullMask built the ZK pool. MaskMode connect…”E81

Calls to its own backend: /api/health, /api/nm/base/rpc, /api/tokenE18E19E20

Wallet code: viem, PhantomE12E13

Calls its own backend /api/health, /api/nm/base/rpc, /api/tokenE18E19E20
Wallet code viem, PhantomE12E13E46E47
Contract calls in its code aggregate3, eip712Domain, addrE48E49E50E51
Talks to AI services none seen
Live connections none seen

What it is

  • The site describes itself as: “NullMask's zero-knowledge privacy pool, extended to Solana. Ghost wallets, private send and private bridge, with no on-chain link to your wa”E2
  • It's built with React (common tools for building web apps).E10
  • Notable building blocks in its code: Three.js (3D graphics).E11
  • In your browser it can read your clipboard (your browser asks first), can copy text to your clipboard and saves small bits of data in your browser.E14E15E16
  • It has sections such as /ghosts, /send, /bridge, /cash-out, /activity and /relay.E31E32
  • While loading, it called 3 endpoints on its own servers, such as /api/health, /api/nm/base/rpc and /api/token.E18E19E20

Where your data goes

Analytics & trackingCount visits and record what you do on the page. 1
static.cloudflareinsights.comCloudflare Web Analytics: page-view counter 1×E7
FontsDownload typefaces. 2
fonts.gstatic.comGoogle Fonts: fonts 5×E8
fonts.googleapis.comGoogle Fonts: fonts 1×E6
Not identifiedServices we don't have in our list yet. 1
1click.chaindefuser.comnot identified 1×E9

Crypto and wallets

  • Wallet tools in the code: viem and Phantom.E12E13
  • signTransaction: asks a wallet to sign transactions (often Solana wallets).E46
  • signMessage: asks a wallet to sign a message.E47
  • Contract functions the app calls by name: aggregate3, eip712Domain, addr, resolve, tokenURI, uri, text, reverse and 5 more.E48E49E50E51E52E53
  • Chains named in the code: Base.E76
  • 15 contract or wallet addresses are written into the code, including USDC on Base, USDC on Ethereum and Multicall3 (batches read calls).E62E63E72
15 addresses found in the code
0xd64ef1417eb047ed0b54736a5a41f01178c391c60x833589fcd6edb6e08f4c7c32d4f71b54bda02913 · USDC on Base0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 · USDC on Ethereum0x420000000000000000000000000000000000000f0x42000000000000000000000000000000000000150x42000000000000000000000000000000000000070x42000000000000000000000000000000000000140x42000000000000000000000000000000000000100x42000000000000000000000000000000000000160x43edb88c4b80fdd2adff2412a7bebf9df42cb40e0x56315b90c40730925ec5485cf004d835058518a00xca11bde05977b3631167028862be2a173976ca11 · Multicall3 (batches read calls)0x49048044d57e1c92a77f79988d21fa8faf74e97e0x3154cf16ccdb4c6d922629664174b904d80f2c350x000000000000000000000000000000000000dead

Paste any of these into the box on the home page to get the contract's blueprint.

How key features work

What it can ask your wallet to sign

Its code can ask your wallet for signTransaction, aggregate3, eip712Domain, addr and 3 more. Each of these opens a wallet pop-up you must approve; read it before you click.E46E48E49E50E51

signTransactionaggregate3eip712DomainaddrresolvetokenURIuri

Connecting your wallet

It connects to crypto wallets using viem, Phantom, signTransaction and signMessage. Connecting shows the site your wallet address; it doesn't move funds by itself.E12E13

viemPhantomsignTransactionsignMessage

Reading the blockchain

It reads blockchain data (Base) to show balances, prices or contract state.E76

Base

Loading its content

Its content loads from its own API while you browse (/api/health, /api/nm/base/rpc and /api/token).E18E19E20

/api/health/api/nm/base/rpc/api/token

Drawing and editing in the browser

The page draws and edits graphics in your browser using Three.js (3D graphics) and the canvas.E11E17

Three.js (3D graphics)canvas

Measuring what you do

Visits and clicks are measured with Cloudflare Web Analytics (found in its traffic or its code).E7

Cloudflare Web Analytics

Saving data on your device

It saves data in your browser (localStorage), so some things persist between visits.E16

local_storage

Pages and API calls

Pages it links to

//ghosts/send/bridge/cash-out/activity/relay/docs//ghosts/send/bridge/cash-out/activity/relay/docsnm/mainghost/0ghost/1nm/ghost/0refund/…/0route

Endpoints

Called while loading (seen) or named in the code (code).

maskmode.app/api/healthseenE18
maskmode.app/api/nm/base/rpcseenE19
maskmode.app/api/tokenseenE20
/activitycodeE21
/relaycodeE22
/sendcodeE23
/ghostscodeE24
/bridgecodeE25
/docscodeE26
/cash-outcodeE27
/v1/public-configcodeE28
/v1/checkcodeE29
/v1/deposits/statuscodeE30

Evidence

Every sentence above points to one of these. Code references show the file, line:column and the short identifier that matched, never the site's code itself.

E1
Page title: MaskMode · Private routes for Solana
page title · https://maskmode.app/
E2
Page description: NullMask's zero-knowledge privacy pool, extended to Solana. Ghost wallets, private send and private bridge, with no on-chain link to your wallet.
page description · https://maskmode.app/
E3
Site name: MaskMode
page site_name · https://maskmode.app/
E4
Main heading: Solana, in Mask Mode.
page h1 · https://maskmode.app/
E5
11 request(s) to maskmode.app
types: 4 fetch, 2 script, 1 document
GET https://maskmode.app/ · fetch · 11 requests · network recording
E6
1 request(s) to fonts.googleapis.com
types: 1 stylesheet
GET https://fonts.googleapis.com/css2 · stylesheet · network recording
E7
1 request(s) to static.cloudflareinsights.com
types: 1 script
GET https://static.cloudflareinsights.com/beacon.min.js/vce701823e78c4301a35b7e07294d87301792088814092 · script · network recording
E8
5 request(s) to fonts.gstatic.com
types: 5 font
GET https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2 · font · 5 requests · network recording
E9
1 request(s) to 1click.chaindefuser.com
types: 1 fetch
GET https://1click.chaindefuser.com/v0/tokens · fetch · network recording
E10
React detected by REA (react-runtime)
confidence: medium
maskmode.app/assets/index-RxaBllac.js · “react-runtime” · REA analyze-web-bundle 6.4.0
E11
Three.js (3D graphics) found in the code
maskmode.app/assets/Hero3D-DQln4hA0.js @ 3575:19831 · “THREE.WebGLRenderer” · pattern scan
E12
viem found in the code
maskmode.app/assets/index-RxaBllac.js @ 48:13615 · “viem” · pattern scan
E13
Phantom found in the code
maskmode.app/assets/index-RxaBllac.js @ 46:70303 · “window.phantom” · pattern scan
E14
Uses the browser ability: clipboard_read
can read your clipboard (your browser asks first)
maskmode.app/assets/index-RxaBllac.js @ 94:22650 · “clipboard.readText(” · pattern scan
E15
Uses the browser ability: clipboard_write
can copy text to your clipboard
maskmode.app/assets/index-RxaBllac.js @ 46:75152 · “clipboard.writeText(” · pattern scan
E16
Uses the browser ability: local_storage
saves small bits of data in your browser
maskmode.app/assets/index-RxaBllac.js @ 93:29906 · “localStorage.setItem(” · pattern scan
E17
Uses the browser ability: canvas
draws graphics on a canvas
maskmode.app/assets/index-RxaBllac.js @ 94:47674 · “getContext("2d"” · pattern scan
E18
The page called /api/health on maskmode.app (GET)
GET https://maskmode.app/api/health · fetch · network recording
E19
The page called /api/nm/base/rpc on maskmode.app (POST)
POST https://maskmode.app/api/nm/base/rpc · fetch · network recording
E20
The page called /api/token on maskmode.app (GET)
GET https://maskmode.app/api/token · fetch · network recording
E21
REA found the endpoint /activity
how: property:path
s00-index-RxaBllac.js · “/activity” · REA analyze-javascript-application 6.4.0
E22
REA found the endpoint /relay
how: property:path
s00-index-RxaBllac.js · “/relay” · REA analyze-javascript-application 6.4.0
E23
REA found the endpoint /send
how: property:path
s00-index-RxaBllac.js · “/send” · REA analyze-javascript-application 6.4.0
E24
REA found the endpoint /ghosts
how: property:path
s00-index-RxaBllac.js · “/ghosts” · REA analyze-javascript-application 6.4.0
E25
REA found the endpoint /bridge
how: property:path
s00-index-RxaBllac.js · “/bridge” · REA analyze-javascript-application 6.4.0
E26
REA found the endpoint /docs
how: property:path
s00-index-RxaBllac.js · “/docs” · REA analyze-javascript-application 6.4.0
E27
REA found the endpoint /cash-out
how: property:path
s00-index-RxaBllac.js · “/cash-out” · REA analyze-javascript-application 6.4.0
E28
The code names the endpoint /v1/public-config
maskmode.app/assets/index-RxaBllac.js @ 85:9138 · “/v1/public-config” · pattern scan
E29
The code names the endpoint /v1/check
maskmode.app/assets/index-RxaBllac.js @ 85:9295 · “/v1/check” · pattern scan
E30
The code names the endpoint /v1/deposits/status
maskmode.app/assets/index-RxaBllac.js @ 85:10137 · “/v1/deposits/status” · pattern scan
E31
9 links to pages on the same site
page links · https://maskmode.app/ · /, /ghosts, /send, /bridge, /cash-out, /activity, /relay, /docs
E32
REA found the route /
maskmode.app/assets/index-RxaBllac.js @ 46:58252 · “/” · REA analyze-web-bundle 6.4.0
E33
REA found the route /ghosts
maskmode.app/assets/index-RxaBllac.js @ 46:58305 · “/ghosts” · REA analyze-web-bundle 6.4.0
E34
REA found the route /send
maskmode.app/assets/index-RxaBllac.js @ 46:58369 · “/send” · REA analyze-web-bundle 6.4.0
E35
REA found the route /bridge
maskmode.app/assets/index-RxaBllac.js @ 46:58428 · “/bridge” · REA analyze-web-bundle 6.4.0
E36
REA found the route /cash-out
maskmode.app/assets/index-RxaBllac.js @ 46:58494 · “/cash-out” · REA analyze-web-bundle 6.4.0
E37
REA found the route /activity
maskmode.app/assets/index-RxaBllac.js @ 46:58569 · “/activity” · REA analyze-web-bundle 6.4.0
E38
REA found the route /relay
maskmode.app/assets/index-RxaBllac.js @ 46:58633 · “/relay” · REA analyze-web-bundle 6.4.0
E39
REA found the route /docs
maskmode.app/assets/index-RxaBllac.js @ 46:58686 · “/docs” · REA analyze-web-bundle 6.4.0
E40
REA found the route nm/main
maskmode.app/assets/index-RxaBllac.js @ 93:37487 · “nm/main” · REA analyze-web-bundle 6.4.0
E41
REA found the route ghost/0
maskmode.app/assets/index-RxaBllac.js @ 93:37558 · “ghost/0” · REA analyze-web-bundle 6.4.0
E42
REA found the route ghost/1
maskmode.app/assets/index-RxaBllac.js @ 93:37627 · “ghost/1” · REA analyze-web-bundle 6.4.0
E43
REA found the route nm/ghost/0
maskmode.app/assets/index-RxaBllac.js @ 93:37706 · “nm/ghost/0” · REA analyze-web-bundle 6.4.0
E44
REA found the route refund/…/0
maskmode.app/assets/index-RxaBllac.js @ 93:37780 · “refund/…/0” · REA analyze-web-bundle 6.4.0
E45
REA found the route route
maskmode.app/assets/index-RxaBllac.js @ 94:74676 · “route” · REA analyze-web-bundle 6.4.0
E46
Wallet request in code: signTransaction
asks a wallet to sign transactions (often Solana wallets)
maskmode.app/assets/index-RxaBllac.js @ 85:5947 · “signTransaction” · pattern scan
E47
Wallet request in code: signMessage
asks a wallet to sign a message
maskmode.app/assets/index-RxaBllac.js @ 92:14584 · “signMessage” · pattern scan
E48
Calls the contract function aggregate3
3 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:36568 · “functionName:"aggregate3"” · pattern scan
E49
Calls the contract function eip712Domain
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:42671 · “functionName:"eip712Domain"” · pattern scan
E50
Calls the contract function addr
2 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:50299 · “functionName:"addr"” · pattern scan
E51
Calls the contract function resolve
2 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:50392 · “functionName:"resolve"” · pattern scan
E52
Calls the contract function tokenURI
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:54516 · “functionName:"tokenURI"” · pattern scan
E53
Calls the contract function uri
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:54762 · “functionName:"uri"” · pattern scan
E54
Calls the contract function text
2 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:55814 · “functionName:"text"” · pattern scan
E55
Calls the contract function reverse
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:56832 · “functionName:"reverse"” · pattern scan
E56
Calls the contract function findResolver
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 83:57536 · “functionName:"findResolver"” · pattern scan
E57
Calls the contract function isValidSig
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 84:42191 · “functionName:"isValidSig"” · pattern scan
E58
Calls the contract function registerReceivingKeyAndDeposit
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 85:5019 · “functionName:"registerReceivingKeyAndDeposit"” · pattern scan
E59
Calls the contract function deposit
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 85:5113 · “functionName:"deposit"” · pattern scan
E60
Calls the contract function hasReceivingKey
1 place(s) in the code
maskmode.app/assets/index-RxaBllac.js @ 93:20948 · “functionName:"hasReceivingKey"” · pattern scan
E61
Address in code: 0xd64ef1417eb047ed0b54736a5a41f01178c391c6
maskmode.app/ (page HTML) @ 31:18737 · “0xd64ef1417eb047ed0b54736a5a41f01178c391c6” · pattern scan
E62
Address in code: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 (USDC on Base)
maskmode.app/assets/index-RxaBllac.js @ 85:10919 · “0x833589fcd6edb6e08f4c7c32d4f71b54bda02913” · pattern scan
E63
Address in code: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 (USDC on Ethereum)
maskmode.app/assets/index-RxaBllac.js @ 85:11106 · “0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48” · pattern scan
E64
Address in code: 0x420000000000000000000000000000000000000f
maskmode.app/assets/index-RxaBllac.js @ 93:12658 · “0x420000000000000000000000000000000000000f” · pattern scan
E65
Address in code: 0x4200000000000000000000000000000000000015
maskmode.app/assets/index-RxaBllac.js @ 93:12721 · “0x4200000000000000000000000000000000000015” · pattern scan
E66
Address in code: 0x4200000000000000000000000000000000000007
maskmode.app/assets/index-RxaBllac.js @ 93:12799 · “0x4200000000000000000000000000000000000007” · pattern scan
E67
Address in code: 0x4200000000000000000000000000000000000014
maskmode.app/assets/index-RxaBllac.js @ 93:12869 · “0x4200000000000000000000000000000000000014” · pattern scan
E68
Address in code: 0x4200000000000000000000000000000000000010
maskmode.app/assets/index-RxaBllac.js @ 93:12941 · “0x4200000000000000000000000000000000000010” · pattern scan
E69
Address in code: 0x4200000000000000000000000000000000000016
maskmode.app/assets/index-RxaBllac.js @ 93:13016 · “0x4200000000000000000000000000000000000016” · pattern scan
E70
Address in code: 0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e
maskmode.app/assets/index-RxaBllac.js @ 93:14564 · “0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e” · pattern scan
E71
Address in code: 0x56315b90c40730925ec5485cf004d835058518a0
maskmode.app/assets/index-RxaBllac.js @ 93:14641 · “0x56315b90c40730925ec5485cf004d835058518a0” · pattern scan
E72
Address in code: 0xca11bde05977b3631167028862be2a173976ca11 (Multicall3 (batches read calls))
maskmode.app/assets/index-RxaBllac.js @ 93:14708 · “0xca11bde05977b3631167028862be2a173976ca11” · pattern scan
E73
Address in code: 0x49048044d57e1c92a77f79988d21fa8faf74e97e
maskmode.app/assets/index-RxaBllac.js @ 93:14794 · “0x49048044d57e1c92a77f79988d21fa8faf74e97e” · pattern scan
E74
Address in code: 0x3154cf16ccdb4c6d922629664174b904d80f2c35
maskmode.app/assets/index-RxaBllac.js @ 93:14895 · “0x3154cf16ccdb4c6d922629664174b904d80f2c35” · pattern scan
E75
Address in code: 0x000000000000000000000000000000000000dead
maskmode.app/assets/index-RxaBllac.js @ 93:16698 · “0x000000000000000000000000000000000000dead” · pattern scan
E76
Chain in code: Base (id 8453)
maskmode.app/assets/index-RxaBllac.js @ 93:14265 · “id:8453,name:"Base"” · pattern scan
E77
The site says: “…ains: Ethereum, Base and BNB Chain. Solana, where most on-chain trading happens, had no access to it. 03 The connectio…”
page text · https://maskmode.app/ · …ains: Ethereum, Base and BNB Chain. Solana, where most on-chain trading happens, had no access to it. 03 The connectio…
E78
The site says: “maskmode CA DNM1…pump Copied Buy Soon Install Phantom Powered by NullMask Solana, in Mask Mode. NullMask's z…”
page text · https://maskmode.app/ · maskmode CA DNM1…pump Copied Buy Soon Install Phantom Powered by NullMask Solana, in Mask Mode. NullMask's z…
E79
The site says: “…n them. Cash out privately One signature. Every route. Swap in: NEAR Intents swaps your SOL to ETH on Base in abou…”
page text · https://maskmode.app/ · …n them. Cash out privately One signature. Every route. Swap in: NEAR Intents swaps your SOL to ETH on Base in abou…
E80
The site says: “…m Powered by NullMask Solana, in Mask Mode. NullMask's zero-knowledge privacy pool, extended to Solana. Next wave in Live Le…”
page text · https://maskmode.app/ · …m Powered by NullMask Solana, in Mask Mode. NullMask's zero-knowledge privacy pool, extended to Solana. Next wave in Live Le…
E81
The site says: “…min · fee 0.5% MaskMode relay Up 180 ms, this site's /api The layer NullMask built the ZK pool. MaskMode connect…”
page text · https://maskmode.app/ · …min · fee 0.5% MaskMode relay Up 180 ms, this site's /api The layer NullMask built the ZK pool. MaskMode connect…

Limits

  • We only see what your browser sees: code and requests on a first visit, without logging in or accepting cookie banners. What the servers do with data is invisible from outside.
  • Site code is usually minified (compressed), so names are partly lost and some code may be only partly analysed.
  • Some trackers only load after you accept cookies or log in, so the real list can be longer.
  • We visited from a server in the United States. Sites load different trackers and cookie banners in different countries (visitors in the EU usually get a consent banner first).
  • The tech check compares the site's own words with what its public page loads. Work done on servers, in private code or in separate apps isn't visible here, so 'nothing found' means not visible on the public page, not that it doesn't exist.
  • This text was written from fixed templates because no AI writer was available. It uses exactly the same evidence.
  • REA hit its size budget on parts of 1 large bundle file(s); those parts weren't fully analysed.

Facts, not judgements: this page describes what the code and traffic show, not anyone's intent. Not financial advice. Case id 1svllyuV.