BubblePilot. Prove. Own.
Bubble Industries tokenizes real-world robot training data. You demonstrate manipulation skills to robots by piloting a simulated arm, the physics engine proves the demonstration is real, and the proof is minted to your wallet as an asset you own. Here is the whole loop, step by step.
Pick a task
12 missions, 2 robotsTwelve manipulation missions across two arms: a Franka Panda and a UFactory xArm7 straight from MuJoCo Menagerie, DeepMind's library of research robot models. Each task states its goal and what it pays: 50 points for closing a box, up to 150 for the hardest grasp-and-lift. Harder manipulation pays more.
Success is a physics condition
Every task defines its win as a condition on the simulated world (“the lid ends closed”, “the can ends above the pedestal”), never as a screenshot or a claim.
A legal starting envelope
Each task also defines where objects may start and requires the arm at rest, so a run can't begin half-done. The server enforces this before anything else.
Pilot the robot
MuJoCo in your browserThe whole simulator runs in your tab: MuJoCo, the physics engine used across robotics research, compiled to WebAssembly. You do not install anything and you do not need a GPU. The keyboard drives the gripper through inverse kinematics.
The controls
Arrow keys translate the gripper, E and D raise and lower it, Q/W/A/S/Z/X rotate the wrist, Space opens and closes the fingers.
Everything is recorded
While you pilot, the browser logs your exact control input at every physics step. That log is the demonstration you submit. Not a video, not a score.
Physics verifies
Bit-for-bit replayYour submission carries the initial state, the full control log, and the final state you claim. The server trusts none of them. It replays your log in the same MuJoCo binary your browser ran, then compares.
Admission control
Before any replay, the claimed initial state must sit inside the task's legal envelope. Claim the box began closed, or hand the arm free momentum, and the run is rejected before the physics even runs.
Zero tolerance
The simulator is deterministic, so an honest run reproduces exactly. The accepted difference is zero, on every coordinate. One bit off and the run is rejected, with the first divergent step named.
Fast
A five-minute episode is thousands of physics steps; the server re-simulates them in about a second before deciding.
Judged on the server's state
The success checker runs on the state the server computed, never on your claim. The verdict is PAY or REJECT, and nothing in between.
Own your data
One transactionA proven run ends in a single transaction on the BubbleData contract, on BNB Smart Chain mainnet. You keep the proof, the ledger keeps the score.
A Data ID NFT, minted to you
The trajectory is hashed and that hash becomes the tokenId of an ERC-721 minted straight into your wallet. It transfers like any other token.
Metadata fully onchain
The contract builds the metadata itself and serves it as a base64 data URI, so there is no IPFS pin or external host that can go offline.
Airdrop points
The same transaction credits your points, weighted by difficulty. Points will weight a future token distribution (Phase 3 of the roadmap).
Free for the pilot
Piloting is free and the operator pays the BNB gas for the mint. You connect a wallet because the run is minted to you, not to an account we hold.
Check it yourself
The ledger is public stateNothing above asks you to trust a dashboard. The counters on this site are live reads of the contract, and the same functions are one call away from any terminal:
cast call $BUBBLE_DATA_ADDR \ "points(address)(uint256)" YOUR_WALLET \ --rpc-url https://bsc-dataseed.bnbchain.org
demoCount, totalDemos and totalPoints work the same way. Contract: mainnet deployment in progress
What we don't claim
Stated plainlyThe physics check proves the trajectory is real, not that a human produced it. Per-wallet rate limits and movement analysis are on the roadmap. The verification server is the only mint authority in this version: physics decides, the operator submits the transaction. The points ledger accrues on mainnet today, and the distribution it weights comes later.
Five minutes to your first Data ID.
Pick a mission, fly the arm, hit Verify. Prefer the deep technical dive? Read the docs →
Browse tasks →