Meet Shifty, the robot that randomly tests SideShift AI

With the number of ways to swap coins on SideShift AI having reached over 500, it’s hard to know that everything is working as expected.

That’s why we built Shifty, a robot that randomly swaps coins around just like a normal user would use SideShift AI. When Shifty is unable to perform a shift, we create a Github issue and start tracking down the bug.

Shifty’s workflow

Shifty is written as a Node.js script (119 cloc) that runs every 5 minutes.

  • Pick a random deposit method, such as Bitcoin, Monero, Zcash, Zcash Shielded, USDT, etc.
  • Pick a random settle method that is different from the deposit method
  • Create an order using the same API a normal user would use
  • Send $5 of the deposit asset to the address supplied by the order
  • Wait for the deposit to finalize (success, fail, or refunded)
  • Wait 5 minutes
  • Start again.

The code

The code for Shifty is very simple, yet surprisingly reliable.

Example output

Here’s what the output looks like. As you can see there’s already some bugs that should be looked at.

Become a TEST PILOT

SideShift AI is currently in its TEST PILOT stage. You can apply for a tester code here: https://sideshift.ai/pilot