A recreation of the classic claw-game arcade machine, this HTML5 game is integrated with Metamask and can connect to a prize database to reward the player with tokens, NFTs and other special items.

Made with GameMaker Studio

Realeased July 20, 2022



I was contracted to build this game as part of a Solidity-based NFT project. Initially, I created an ERC-20 token with a staking mechanism for the project’s NFTs, which later moved into a more traditional database-stored reward for speed and simplicity.

The game starts by paying the 10 token entry cost, then you have one chance to move the claw into position above a prize and hit the drop button hoping to pick it up.

It requires you to sign a message with Metamask to verify your account with the database and check your token balance.

I drafted a design for an arcade machine in Photoshop and then was provided the current graphics which were fun to work with. Since it’s an HTML5 game I had to make sure it was responsive for different devices. Keyboard support was added for computer players.

The API was part of the Redwood/React app which connected to a database in Docker.

All the logic of who wins is on the server end. I also added a table in the database where prizes could be added, with support for a variable token prize.


I added a little bit of polish to the game. For example, when moving the claw it swings as if affected by physics and slowly slows down.

If you don’t aim at a toy, an extra variable is passed to the server so it doesn’t reward you for a missed shot.

When you lose, one of three things will happen:

  1. The claw will miss all toys, close the claw and return to the top.
  2. The claw will close on a toy and slightly move it, but not grab it.
  3. The claw will pick up a toy but it will slip out at a random point before the claw reaches the prize box.


The game was well-received by the community and many prizes were won. Users got somewhat triggered by the mechanism where it looks like you win but then it falls out of the claw.

Since finishing the contract, I no longer support the project.


Note: Comments are moderated, URLs not permitted.