Website blueprint · 19 Oct 2026

pumpprotest.fun

“PumpProtest — Make some noise.”

Template-written 26 evidence items REA analysed 5 scripts
What this means for you

pumpprotest.fun talked to 2 outside services on a first visit.E6E5

  • Tech check: the site mentions wallet connection, but we found nothing behind it in what its public page loads.E26
  • We saw no known analytics or advertising services load on the first visit.E1

Tech check

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

Nothing found on the public page

Wallet connection

“…OTEST™ PARIS, FRANCE 48.8566° N, 2.3522° E YOUR AVATAR CONNECT WALLET ✳ THE STREETS ARE YOURS. PumpProtest MAKE A SIGN. MAKE…”E26

No matching code, calls or services in what loaded for us.

Calls its own backend /api/event, /map/resistance-metadata.json, /map/resistance-fallbacks.jsonE15E16E17E18
Wallet code none seen
Contract calls in its code none seen
Talks to AI services none seen
Live connections keeps a live two-way connection open to a server, can make direct peer-to-peer connections (calls, file sharing)E10E12

What it is

  • The site describes itself as: “Welcome to PumpProtest. An unruly Paris street, a cardboard sign, and something to say. Enter the playable protest sandbox.”E2
  • Notable building blocks in its code: Three.js (3D graphics).E7
  • In your browser it can ask to use your camera or microphone, saves small bits of data in your browser, keeps a live two-way connection open to a server, runs compiled WebAssembly code in your browser and 1 more.E8E9E10E11E12
  • While loading, it called 7 endpoints on its own servers, such as /api/event, /map/resistance-metadata.json, /map/resistance-fallbacks.json and 4 more.E15E16E17E18

Where your data goes

FontsDownload typefaces. 2
fonts.gstatic.comGoogle Fonts: fonts 6×E6
fonts.googleapis.comGoogle Fonts: fonts 1×E5

How key features work

Sign-in and accounts

Sign-in and account features show up in its code or traffic (/api/admin/session).E23

/api/admin/session

Live updates

It keeps live connections open (WebSockets and WebRTC) so content updates without reloading.E10E12

websocketwebrtc

Loading its content

Its content loads from its own API while you browse (/api/event, /map/resistance-metadata.json, /map/resistance-fallbacks.json, /map/resistance-props-metadata.json and 2 more).E15E16E17E18E19

/api/event/map/resistance-metadata.json/map/resistance-fallbacks.json/map/resistance-props-metadata.json/map/resistance-routes.json/map/resistance-navigation.json

Drawing and editing in the browser

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

Three.js (3D graphics)webassemblycanvas

Saving data on your device

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

local_storage

Pages and API calls

Pages it links to

/

Endpoints

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

pumpprotest.fun/api/eventseenE15
pumpprotest.fun/map/resistance-metadata.jsonseenE16
pumpprotest.fun/map/resistance-fallbacks.jsonseenE17
pumpprotest.fun/map/resistance-props-metadata.jsonseenE18
pumpprotest.fun/map/resistance-routes.jsonseenE19
pumpprotest.fun/map/resistance-navigation.jsonseenE20
pumpprotest.fun/version.jsonseenE21
/version.jsoncodeE22
/api/admin/sessioncodeE23
/api/admin/eventcodeE24

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: PumpProtest — Make some noise.
page title · https://pumpprotest.fun/
E2
Page description: Welcome to PumpProtest. An unruly Paris street, a cardboard sign, and something to say. Enter the playable protest sandbox.
page description · https://pumpprotest.fun/
E3
Main heading: PumpProtest
page h1 · https://pumpprotest.fun/
E4
77 request(s) to pumpprotest.fun
types: 45 fetch, 27 image, 3 script
GET https://pumpprotest.fun/ · fetch · 77 requests · network recording
E5
1 request(s) to fonts.googleapis.com
types: 1 stylesheet
GET https://fonts.googleapis.com/css2 · stylesheet · network recording
E6
6 request(s) to fonts.gstatic.com
types: 6 font
GET https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1z3bWuQ.woff2 · font · 6 requests · network recording
E7
Three.js (3D graphics) found in the code
pumpprotest.fun/assets/avatar-pQUKb2gt.js @ 3579:20043 · “THREE.WebGLRenderer” · pattern scan
E8
Uses the browser ability: camera_mic
can ask to use your camera or microphone
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:31855 · “getUserMedia(” · pattern scan
E9
Uses the browser ability: local_storage
saves small bits of data in your browser
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:45844 · “localStorage.setItem(” · pattern scan
E10
Uses the browser ability: websocket
keeps a live two-way connection open to a server
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:33633 · “new WebSocket(” · pattern scan
E11
Uses the browser ability: webassembly
runs compiled WebAssembly code in your browser
pumpprotest.fun/assets/game-BKRZe0k3.js @ 1:42113 · “WebAssembly.instantiate(” · pattern scan
E12
Uses the browser ability: webrtc
can make direct peer-to-peer connections (calls, file sharing)
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:29400 · “new RTCPeerConnection(” · pattern scan
E13
Uses the browser ability: web_worker
runs work in a background thread
pumpprotest.fun/assets/game-BKRZe0k3.js @ 1:42978 · “new Worker(” · pattern scan
E14
Uses the browser ability: canvas
draws graphics on a canvas
pumpprotest.fun/assets/index-D-bt1VHk.js @ 2:3314 · “getContext("2d"” · pattern scan
E15
The page called /api/event on pumpprotest.fun (GET)
GET https://pumpprotest.fun/api/event · fetch · network recording
E16
The page called /map/resistance-metadata.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/map/resistance-metadata.json · fetch · network recording
E17
The page called /map/resistance-fallbacks.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/map/resistance-fallbacks.json · fetch · network recording
E18
The page called /map/resistance-props-metadata.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/map/resistance-props-metadata.json · fetch · network recording
E19
The page called /map/resistance-routes.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/map/resistance-routes.json · fetch · network recording
E20
The page called /map/resistance-navigation.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/map/resistance-navigation.json · fetch · network recording
E21
The page called /version.json on pumpprotest.fun (GET)
GET https://pumpprotest.fun/version.json · fetch · network recording
E22
REA found the endpoint /version.json
how: call:fetch
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:43686 · “/version.json” · REA analyze-web-bundle 6.4.0
E23
The code names the endpoint /api/admin/session
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:42052 · “/api/admin/session” · pattern scan
E24
The code names the endpoint /api/admin/event
pumpprotest.fun/assets/index-D-bt1VHk.js @ 59:42489 · “/api/admin/event” · pattern scan
E25
1 links to pages on the same site
page links · https://pumpprotest.fun/ · /
E26
The site says: “…OTEST™ PARIS, FRANCE 48.8566° N, 2.3522° E YOUR AVATAR CONNECT WALLET ✳ THE STREETS ARE YOURS. PumpProtest MAKE A SIGN. MAKE…”
page text · https://pumpprotest.fun/ · …OTEST™ PARIS, FRANCE 48.8566° N, 2.3522° E YOUR AVATAR CONNECT WALLET ✳ THE STREETS ARE YOURS. PumpProtest MAKE A SIGN. MAKE…

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 EJAd8dlT.