Who each shot hits,
and whether it kills,
is decided on chain.
You submit only a firing direction. The contract computes the collision against the ~225 fish on the field, and randomness is drawn only at the moment of settlement. RTP is fixed at 95%, no matter how you play.
§ 01 · One shot
Three steps, all on chain
A fire transaction carries only a direction. Which fish it hits, when it settles and whether it kills are all computed by the contract according to the rules, and anyone can recompute them.
Aim and fire
Pick a bet tier, pick a direction, sign one transaction. The transaction has no "which fish to hit" parameter.
The chain finds the first fish it meets
The contract traces the trajectory (bouncing off walls) and computes the first fish it will hit and the moment of contact. A fish in front does block the ones behind it.
Settled at the moment of the hit
Bullets queue by the moment they reach their fish and are settled along the way by later transactions. Randomness is drawn only at settlement; a kill pays out at the fish's multiplier.
§ 02 · Guarantees
Three things written into the contract
Fixed RTP
Whatever fish you shoot, however you aim, however fast you are, every shot is expected to return 95% of the bet. The other 1% is the tech fee and 4% is the house edge.
How it's computedCollision and randomness, both on chain
A transaction's execution cap is 9,200 gas, and the contract searches the whole field within it. Randomness comes from Aptos on-chain randomness, drawn at settlement; once drawn, it can't be taken back.
Where randomness comes fromPayouts are locked
The moment a shot leaves the barrel, the most it could possibly win (100× the bet) is locked, so it can always be paid at settlement. Winnings go to your room balance, and only you can withdraw them.
Who can move the money§ 03 · Fish
8 fish, the same expectation
The bigger the fish, the harder to kill and the higher the multiplier. Hit probability × multiplier is 0.95 for every one of them: big fish are no better value; they only make the swings bigger.








Hit probability × multiplier = 0.95 · the same for every fish
§ 04 · Live readings
The room's books, read live from chain
Every number below is read directly from the contract's view functions and refreshed every 5 seconds. Room
Don't trust us? Compute it yourself
Paste the hash of a fire transaction. In your browser, the page recomputes the school of fish and the trajectory from the room seed, checks that the fish recorded on chain really is the first one this bullet touched, then finds its settlement.
- Execution cap
- 9,200 gas / tx
- Fire gas
- median 812 · p95 1,861
- Per-room throughput
- 93 shots / s
- Contract tests
- 127
- Brute-force cross-check
- 300/300 match
Are big fish better value?
Why did someone else take the fish I was aiming at?
Why is a bullet's bet sometimes refunded?
How much APT do I need?
Can the contract be changed?
OPERATORS
Want to host a room?
House edge 4%, with payout locking guaranteed by the contract. See revenue, bankroll requirements and the process.