The first memecoin whose homepage is an actual fluid dynamics solver. Every pixel is computed in real time. None of it is a video.
0x0000000000000000000000000000000000000000
Incompressible Navier–Stokes, solved on the GPU every frame. Below is the equation, which term maps to which shader pass, and the actual source of two of those passes — copied out of this page, not re-typed for the marketing.
ADVECT, semi-Lagrangian, bilinear fetch.PRESSURE then GRADIENT.DIVERGENCE.SPLAT, gaussian falloff.// curl of the velocity field, per texel void main () { float L = texture(uVelocity, vL).y; float R = texture(uVelocity, vR).y; float T = texture(uVelocity, vT).x; float B = texture(uVelocity, vB).x; float vorticity = R - L - T + B; fragColor = vec4(0.5 * vorticity, 0.0, 0.0, 1.0); } // push velocity back along the vorticity gradient, // which is what keeps the small curls alive void main () { float L = texture(uCurl, vL).x; float R = texture(uCurl, vR).x; float T = texture(uCurl, vT).x; float B = texture(uCurl, vB).x; float C = texture(uCurl, vUv).x; vec2 force = 0.5 * vec2(abs(T) - abs(B), abs(R) - abs(L)); force /= length(force) + 0.0001; force *= curl * C; force.y *= -1.0; vec2 velocity = texture(uVelocity, vUv).xy; velocity += force * dt; velocity = min(max(velocity, -1000.0), 1000.0); fragColor = vec4(velocity, 0.0, 1.0); }
These sliders are wired straight into the solver running behind this page. Drag anywhere to inject force. Nothing here is a preview — you are editing the simulation.
Raise vorticity past 40 and the field stops settling. Drop pressure iterations below 8 and you can watch incompressibility fail — the dye starts to bunch up instead of flowing.
Read this row by row before you buy anything. Every value above should match what the explorer tells you independently. If a number here disagrees with the chain, trust the chain and assume this page is wrong or hostile.
4663, gas paid in ETH. Robinhood Wallet supports it natively; other wallets take the RPC endpoint listed above.Nothing below is a promise. When something changes, it gets a line here with a date on it.
splat() does. He is not an image file — he is roughly 200 dye impulses drawn into the velocity grid, so he dissolves within about two seconds of existing. Press “Summon Vort” in the controls to bring him back.tx 0x… pending — replace with the real hash before launch.