JosieBellini’s Yours Truly Puzzle Walkthrough

We recently participated in the Yours Truly puzzle created by Josie Bellini (@josiebellini) and managed to secure a victory by being the first to solve the entire puzzle series. Here is a walkthrough of all the puzzles and how to unlock Josie’s Yours Truly puzzle wallet.



  1. Josie Newsletter
  2. Yours Truly - CryptoVoxels
  3. The Nine Puzzles
    1. Neon District
    2. Axie Infinity
    3. SuperRare
    4. Yours Truly - AR
    5. Yours Truly - Painting
    6. CryptoVoxels
    7. CryptoKitties
    8. Age of Rust aka FOMO
    9. OpenSea
  4. The Solution
  5. Fin

1. Josie Newsletter

The Josie newsletter for the Yours Truly puzzle was posted here on February 20, 2020:

The tweet announcing it live:

The newsletter leads you to the Yours Truly painting:

On the chin of the woman, you can see coordinates: 184E, 400N.

2. Yours Truly - CryptoVoxels

The coordinates from the Yours Truly painting leads you to a CryptoVoxels location:,400N

This brings you to a big boxed building at 1 Thomas Center that you cannot see much from the outside.

There is a semi-transparent image that is a doorway through the image that lets you enter hidden pathways. Once you find your way through the halls, it takes you to several different themed rooms.

This was the hub for the entire puzzle series as many of the puzzles involved using information from this building or led you to where you needed to go.

3. The Nine Puzzles

There was no linear path or order to solve the puzzles, although some puzzles contained information that was useful for other puzzles. Instead of trying to give you the path we took, it will be easier to explain each puzzle and how you solve them.

This link was used to check the puzzle solutions and it also told you all the puzzles you needed to solve:

3.1. Neon District

The Neon District puzzle started inside of a ND themed room showing a TV displaying text and a link that says "clickme".

Upon clicking it, it displayed a URL for you to visit:

The text states that someone used a terminal to send a message that they were not supposed to. You, the Oracle, has been tasked with finding information about the message or the “raw message identifier.”

When you load this website, you are put inside of a 3D virtual room that you can move around in. There is a terminal on the wall that you are able to interact with.

You can see that there is :shutdown in the terminal when you run up to it which is telling you the command format. One of the first things you might typically try in a situation like this is use a help command.

The first part of the puzzle is guessing to use :help.

Here is a list of the base commands and their responses:

Command Response
:help View the image to see this one, it’s too big to fit in the table.
:deletepath ENOPERM
:dropstream ENOPERM
:endtask ENOPERM
:history 1 :history
2 :showlocation
3 :setidentity FROMFILE */stream3/id/6ae075dd5d32ebab6ff10fe96b893890d81ba8cbbe6789cbc827381c873d811e
4 :raiseroute FROMFILE */stream/id/5f9f4d05313098f7bef4b387ecf0b9b1e328fbd6b16cf07553e4e50ddac1fb57
5 :identifyuser
6 :listpath %/env/
7 :dupefile */stream3/GARBAGE %/env/compat/scratch/GARBAGE
8 :dropstream */stream3
9 :listprocesses
10 :endtask 72545
11 :sendfile %/env/compat/scratch/GARBAGE
12 :trash %/env/compat/scratch/GARBAGE
13 :truncate LOG 1HOURS :sendfile
14 :droproute
15 :truncate LOG ALL ROUTES
16 :status
17 :deletepath %
18 :listpath %
19 :permissions % DELETE ALL
20 :permissions %/env/compat/scratch/ DELETE ALL
21 :dletepath %/env/compat/scratch
22 :shutdown
23 :shutdown
24 :shutdown
:identifynode 40fea51b2e6de52c
:listpath USAGE - :listpath <fullpath>

SHOWHIDDEN not enabled by default for non-root emulation role.

:loadmodule ENOPERM
:purgemodule No modules loaded.
:sendfile No file specified.
Filesystem incoherent, cannot delete tempfile for send to [[|XXXXXXXX]].
:setidentity ENOPERM
:showfile USAGE: :showfile <fullpath>
:shutdown ENOPERM
:truncate ENOPERM
:droproute 19084c01578b09eb already closed.
:dupefile ENOPERM
:identifyuser Cannot access identity for user [[constance.turner|????????]].
Reason: identity data missing.
Data path: */stream3/id/6ae075dd5d32ebab6ff10fe96b893890d81ba8cbbe6789cbc827381c873d811e
   0 emu
   1 systemd
   2 env
 735 compatshell
:permissions NONE - SEE :status
:raiseroute no default route available.
:sendfilestatus USAGE: :sendfilestatus <full send identifier>
:setlocation ENOPERM
:showlocation %/env/compat/scratch
CHAIN:          0
CHARSET:        0
C_LANG:         C
CONNECTED:      %.y
KEYPATH:        m/68'/8080'/0'/0'/0
LANG:           C
ROOT:           %
SHELL:          compatshell
WIDTH:          80
WINDOW:         */stream1/0/0/
ZAP:            %.n
ZONE:           @@DEFAULT@@+1
:trash ENOPERM
Does your site have z?  If not why not!? Demand its installation now!
But if your site does not have z, how will you know?  The only way to
know about z is to run it [DO NOT TELL PEOPLE ABOUT Z] and if it is
not installed you cannot run it.

I know what you are thinking: I should copy z to my site from a site
that has it installed.  But z is copy protected.  You cannot copy z.

What to do, what to do...


-- Lopyceft the Historical Hacker Humor Preservation Society.

One of the first takeaways you have with the puzzle theme, the goal, and the history command is that this is a bit of a pseudo forensics challenge. What that means is you are given a system at a state in time that it has been compromised and tampered with. Your goal is to work backwards and see if you can figure out how to put the pieces together to solve the problem.

The first interesting bit is the :history command which tells you what the attacker did.

A quick explanation of this can be summarized as the following:

1 :history
2 :showlocation

The attacker used :history and :showlocation to see a list of commands or information that anyone who used the terminal in the past may have used. This is a common thing for attackers to do because commands may leak information such as sensitive file locations, passwords, etc.

3 :setidentity FROMFILE */stream3/id/6ae075dd5d32ebab6ff10fe96b893890d81ba8cbbe6789cbc827381c873d811e
4 :raiseroute FROMFILE */stream/id/5f9f4d05313098f7bef4b387ecf0b9b1e328fbd6b16cf07553e4e50ddac1fb57
8 :dropstream */stream3


The attacker used :setidentity and :raiseroute with the following parameter: FROMFILE */stream3/. This gives us information about identity, route, and file paths. They also later down used :dupefile from */stream3/ and the :dropsteam command. The :dropstream command would suggest that we no longer have access to that network / file path so we can only work with the logs.

7 :dupefile */stream3/GARBAGE %/env/compat/scratch/GARBAGE
11 :sendfile %/env/compat/scratch/GARBAGE
12 :trash %/env/compat/scratch/GARBAGE
13 :truncate LOG 1HOURS :sendfile
14 :droproute
15 :truncate LOG ALL ROUTES

This is the meat of the puzzle right here. The attacker sent a message (essentially as you work through the commands, you determine the message is a file) and we know the location of it now.

The attacker also took steps to cover their tracks by truncating the log files to remove evidence of the attack.

And this is the current state of the terminal when we access it, so there is no more history from the attacker at this point:

22 :shutdown
23 :shutdown
24 :shutdown

From this history we can deduce a couple important pieces of information.

We know the following file paths now:

  • */stream3/
  • %env/
  • %env/compat
  • %env/compat/scratch
  • %env/compact/scratch/GARBAGE

We know there is a concept of identities related to these hashes, suggesting that raiseroute is probably an identity too:


With that information, we can start to traverse the %env drive for additional information. If you look up and see the :listpath command, remember that it also takes the parameter SHOWHIDDEN.

Command Response
listpath SHOWHIDDEN %/env/compat/scratch

Using the commands to check every folder path for folders and files, we eventually get the following outline for the drive.


Now we can read the file contents.

Command Response
:showfile %/env/compat/scratch/-State/:sendfile.state
NEXTENTROPY:    8c5aa9d38e62d7f1aa093215ad57bfde67f5faa11c54ecef8a8783703023a4ed
NEXTNONCE:      0915303472
NEXTSALT:       d8f82ef44fa33414f1b05f4354e944c63f99684075ba4601aa78dafee51e8806
ONON:           %.y
NEWLINES:       %.n
V60FIX:         %.y
VARIANCE:       e3
Z:              b4846e361de98a5df1a4b5e59713b158f40c02c6d9dcdc4fe3c667502d8813f1
YESTERDAY   [[log.user|@@NODE@@]]-->[[log.aggregator|3a38ce431a0e9c61]]=[[%/env/compat/scratch/-Logs]].0915303453
TODAY       [[log.user|@@NODE@@]]-->[[log.aggregator|3a38ce431a0e9c61]]=[[%/env/compat/scratch/-Logs]].0915303454
TODAY       [[log.user|@@NODE@@]]-->[[log.aggregator|3a38ce431a0e9c61]]=[[%/env/compat/scratch/-Logs]].0915303455
TODAY       [[log.user|@@NODE@@]]-->[[log.aggregator|3a38ce431a0e9c61]]=[[%/env/compat/scratch/-Logs]].0915303456
LGmoLZbvKsX/66Vav17Tio463NLeheEzA0LLfdw9PJa5Fhj6LEzK2bsFUrVp7PBDlNazRAFcz5v0oZSMuRwbDMOIIcMqGoDrbwkKzeLPeGV7Qub76/nePdVSljGGOWjdIDldTNjrR28aFMKj1TYfgUU/GGDSl03QinRthRt3rnZajXhHv... (It’s a giant AES blob, I’m truncating it for brevity)

Now is the point where you need to start connecting the dots. There’s a lot of information here, but if you go back to the beginning of the puzzle, it said that it is looking for the raw message identifier.

The sendfilestatus command gave us the following response:

:sendfilestatus - USAGE: :sendfilestatus <full send identifier>


Therefore we know that this is likely the identifier needed to solve the puzzle.

The :sendfile.log gives us examples of identifiers. Example:



What is interesting about this is that thematically it’s suggesting a [[from]]-->[[to]]=[[file path]].nonce format. Let me help explain how you might get to that conclusion.

The @@NODE@@ format is suggesting a system variable, such as what you see in the :status command. But the other clue for this is the identifynode command:

:identifynode - 40fea51b2e6de52c

This identifynode command contains a hex string the same size as the hash appended after log.aggregator.

What does that node go with? Well the format for log.user and log.aggregator is [[string|hex string]]. Where else have we seen that? The :sendfile command and :identifyuser command.

:sendfile No file specified.
Filesystem incoherent, cannot delete tempfile for send to [[|XXXXXXXX]].
Cannot access identity for user [[constance.turner|????????]].
Reason: identity data missing.
Data path: */stream3/id/6ae075dd5d32ebab6ff10fe96b893890d81ba8cbbe6789cbc827381c873d811e

Now we know that in the history the attacker used :setidentity to that stream data path and that it identifies as the user [[constance.turner|??????]]. They set a route to another ID, combining the error in :sendfile, you can deduce that is the user that was going to receive the file.

So if we are to suggest that identifynode hex string is for constance.turner, then we need another hex string for We also have that with the droproute command:

:droproute - 19084c01578b09eb already closed.

With this information, we so far have the following identifier guess:


The last piece we have is a nonce value that in the sendfile log incremented one at a time. If you look at the data from the other commands, you will find this bit of information:

:showfile %/env/compat/scratch/-State/:sendfile.state ...
NEXTNONCE: 0915303472

Therefore we know that the nonce value is likely the previous nonce. Putting that together, we land on this:

:sendfilestatus [[constance.turner|40fea51b2e6de52c]]-->[[|19084c01578b09eb]]=[[%/env/compat/scratch/GARBAGE]].0915303471


This is where we got stuck for about a week. We tried a bunch of different routes, but we were having no success. LeFevre by chance happened to try playing around with the command to see if there was a typo, by happenstance we managed to get it to work and realized there WAS a typo in the command.

The end result happened to be:

:sendfilestatus [[constance.turner|40fea51b2e6de52c]]->[[|19084c01578b09eb]]=[[%/env/compat/scratch/GARBAGE]].0915303471

The -> was supposed to be -->.

An unfortunate result to an interesting puzzle, but it happens sometimes.

Using the solution checker website, we entered the following and got a happy face:

Solve: [[constance.turner|40fea51b2e6de52c]]->[[|19084c01578b09eb]]=[[%/env/compat/scratch/GARBAGE]].0915303471

3.2. Axie Infinity

The Axie Infinity puzzle started in a multiple level themed room that is hard to capture with a single picture:


At the bottom level, there is a riddle on the wall:

And if you look up, you see the following:

This is referring to the Axie #577 which is part of the prize for solving the Yours Truly puzzle.

The meat of this puzzle is the following riddle text:

Uncomplicated and also compact,
sweet sixteen from dark to light,
the few colors of my well being.
to which we shall add nothing after.

I could probably write dozens of pages of all the things we tried in detail, so I’ll keep our failures in a short list:

  • We originally thought that it was four sentences (did not notice commas) and that four sentences was equal to four axie parts. The “Sweet Sixteen” could have meant a Sweet Sixteen party - there is a part in axies named Strawberry Shortcake that gives you the move Sweet Party. From this point we tried to find a specific axie that existed. This path continued with some interesting results for the next few days.
  • Moving on from the original idea, we considered that maybe “uncomplicated” and “compact” could be referring to big numbers, binary, or hex. Sweet 16 could mean base-16 for hex. All of these things could be referring to the Axies gene. Every axie has a 256 bit gene value. Combining this information with the floors in the room that have 2 colors (green and tan), it’s possible to make the conclusion that you have to identify axie colors or parts using the floor colors as binary data. This was a lot of wasted of effort...

And eventually, we landed on the solution of the puzzle:

  • Uncomplicated and also compact, sweet sixteen - base 16 aka hex colors
  • from dark to light = shades, order
  • the few colors = three colors
  • of my well being = wellbeing implied the color green
  • to which we shall add nothing after = riddle for adding the word “nothing” at the end of the answer.

Looking at Axie #577, you can see it has 3 shades of green on it.

  • Main color
  • Shadow at the bottom of the Axie
  • Dark green outline stroke

Grabbing the three color hex values of green, sorted from dark to light HSB L value:

  • 295107
  • 89db75
  • ccef5e

Appending them together and adding “nothing” after it:

Solve: 29510789db75ccef5enothing

3.3. SuperRare

This puzzle began in the cozy SuperRare section of the building. Looking around the room you could see 5 pieces of artwork from the SuperRare site and a pixel image with the word SuperRare on it. To begin we identified all the pieces of artwork in the room as:

6738: The Worst is Over - Mind Control Series
5791: Fishermen’s Shadows
7353: Circus of the Cyber Hell
3693: Vulcan 3
4021: Dawn Breaks in an Unfamiliar Field

Right away it was noticed the 5-four digit numbers appended to the end of the link all started with increasing numbers from 3-7 which seemed to indicate a possible order to arrange the paintings.

Continuing to explore the room we also noticed that some pixels on the SuperRare image were colored slightly different than the rest, making two 4x20 grids.

Off-colored bits:

At this point we were stuck for a while until a hint in FOMO led to a breakthrough. In FOMO, there was a pillar with an unused grid for its final solution. One of the statues in FOMO says "Selene makes the path." It was determined that if you waited until nightfall in the game, a bridge would appear connecting the nearby rock ledge to the pillar allowing you to read the grid.

Deciphering the grid using the solution from FOMO, the grid results in the letters RNAL and a hint that this is the last 4 letters for the SuperRare solve. (The game incorrectly stated last 3 letters but was corrected later)

It was guessed that this most likely indicated the final word in the solution was “eternal” as that was the only bip39 word that ended in RNAL (This ended up being a lucky coincidence that it was a bip word). It just so happened that the “Circus of the Cyber Hell” artwork with the highest ending number contained the word eternal in its description. At this point we knew we were probably looking for a book cipher and the grid held the key to the remaining words. Knowing that eternal was the 55th word in the artwork we began looking for any indication of the number 55 in the pixel data. After many failed ways to manipulate the data, it was found if you just read the bits as 8-bit decimal numbers that the last 8 bits resulted in 055

Artwork broken into 8 bits

01000100 00000010 00111100 00000100 00111001 00010001 00001010 01010111 01011111 00101010 01010011 00001101 00011011 10011001 00000100 10100000 00010010 01100100 01100110 00110111

(00110111= 055)

A quick translation of all the other numbers gave the following string

68 2 60 4 27 17 10 87 95 42 83 13 27 153 4 160 18 100 102 55

Right away it was noticed that all those numbers were below the word count in the description for every painting. Taking the 68th word of the first painting, the 2nd word of the second, the 60th of the 3rd and looping back to the first painting after you used the fifth painting resulted in the phrase:

"human circumstances are repeating and the story seems to only lay bewildered in your future machinery where ghosts become eternal"


Solve: human circumstances are repeating and the story seems to only lay bewildered in your future machinery where ghosts become eternal

3.4. Yours Truly - AR

The painting was created to be used with the Artivive app. Downloading this app and pointing it at the image reveals an animated painting that can be viewed via AR. Upon close inspection of the animation you will notice a few strings of words are scattered throughout.


One of the strings of interest in the image:

Solve: whydoifeellikethis?

3.5. Yours Truly - Painting

This puzzle can be found within the original painting that was posted in the newsletter. This seemed more like an introduction to the puzzle more than anything.

At the bottom left left of the chest in the painting, you can see the words “yt” inscribed:

Solution: yt

3.6. CryptoVoxels

The CV puzzle begins within the puzzle building in a room with just the CV logo and a wall with some cipher text.


This string is actually a OTP (One Time Pad) cipher with the key to decrypt it being hidden in 8 pieces throughout the puzzle locations. The 8 locations and keys are listed below:


Inside the Yours Truly AR - View the visor of the animation and the numbers scrolling across read:

18 9 25 16 10


Inside the front wall of the CV building - going into 3rd person mode allows you to pass the camera through the wall allowing you to see this one:

2 13 15 8 1


Inside the Neon District Oracle Room - On the servers are barcodes in the upper corner. Looking closely at them shows the string written without spaces. This can also be viewed in the page source:

17 13 11 01 25


Inside the Cryptokitty room in the main CV puzzle building - Again going into 3rd person view allows you to view the backside of the plaque behind the lower kitty in the CK room

12 5 15 3 23


Inside the FOMO game - there is a statue at the end of the game across the bridge that displays the numbers to you.

24 21 16 6 13


On Opensea - Looking at the #0 Your truly NFT on Opensea, you can see it has an additional piece of info in its description that no others have. It tells you this artwork has been scribd. Going to the scribd website and validating this artwork gives a phrase with the 6th string.

20 24 17 9 20


Outside of the CK Puzzle building - Going to the secondary Cryptokitty puzzle building, you can find a cryptokitty voxel outside that has the 7th string written on its back.

1 9 22 12 19


The Yours Truly Painting - On the original Your Truly painting, you can see this final string in the lower left of the glasses.

8 10 16 24 10 12

Putting it all together

Once you have collected all 8 strings, you will realize that you have 41 numbers, which is the same length as the original cipher

18 9 25 16 10 2 13 15 8 1 17 13 11 01 25 12 5 15 3 23 24 21 16 6 13 20 24 17 9 20 1 9 22 12 19 8 10 16 24 10 12

Shifting each letter back by the value specified reveals the solutions text. (wrap around from A to Z if needed), so the first character is L-18 = T, second is Q - 9 = H, etc until you have the final message.

Solution: thesharkreportserrorstofundyourlazymemory

3.7. CryptoKitties

Step 1

In the Cryptokitties room are 4 fancy trait clues shown near the ceiling.

A fancy chase lead by user M00se ( lead to the birth of the first Miss Matheson fancy cat

Step 2

She has CV coordinates in her glasses:

That leads you to a new CV location:,182S

There are 12 cats on display with numbers on them. Each cat was unique in that there were only one of each that currently exist on exception to the first where two existed.

Using a website, we were able to locate each specific CryptoKitten:


We created a spreadsheet analyzing the genes and traits of each CryptoKitten, it is in this spreadsheet:

Here's a sample of what it looks like:

We tried to make a string of each dominate part indexed by the number of the cat, but this was not the solution.

At this point, we were not sure what the next step was. Eventually, we noticed a “clue” located outside of the CryptoKittens house that was placed to appear as if it were a part of the CV house next to it.

An interesting bit is that we originally ignored this image when we discovered it. We thought for sure it was part of the house next to it, perhaps a troll or just a coincidence that it said geneMask on it.

Common sense indicates that it stuck out and we should have considered it. But, the funny thing with puzzles is that the obvious thing in hindsight is not always the obvious thing at the time.

After digging through cryptovoxels web APIs, we noticed the parcels was part of the same lot that had the CK images in it:

            "type": "image",
            "scale": [2.28, 1.07, 0],
            "url": "",
            "position": [-9.75, 1.5, -2.5],
            "rotation": [0, 1.5707963267948966, 0],
            "uuid": "2d21ad74-44dc-4d37-8dad-b2bdc3371d20",
            "inverted": false,
            "stretch": true

So now that we knew it was in play and literally labelled “clue-000”, we went forward with it. We knew that CryptoKittens were comprised of genes, but we had no idea where the source of the image was from.

Another interesting bit was at the same time we noted that there was a hint in the CryptoKitties discord that we originally missed:

“Mass Matheson moonlights as a bounty hunter.”

After some investigation efforts, we found that it was part of a popular 3rd party CryptoKitten website called kittyhelper. This hint helped us hone in our searches and locate this site:

We noted that although the table looked the same in the image as the table on the kitty bounty page, it was not exactly the same.

It says “exactgenes” versus “geneMask.”

We reached out to the person who created the site and they let us know that there was nowhere else on the site that the table was used. So we know that the team that made the puzzle specifically replaced the “Exact Genes” text with “geneMask” as a clue towards how to solve it.

After investigating how the bounty system works for this feature on kittyhelper, we noticed that there is a custom contract setup for it that contained the term “geneMask” in it.

Using the chart in CryptoVoxels, we filled out the chart using the number in p0 as the number under the cat. We took the type for each cat listed, making sure we skipped “wild”. Using that table, we created a new bounty using the kitty bounty contract. The correct gene table happened to be: ragdoll calicool dahlia oceanid cloudwhite rosequartz purplehaze tongue myparade

This resulted in the following transaction:

Copying the geneMask and...

Solve: 47507407073393311908305329322427874768232641620211662879

3.8. Age of Rust aka FOMO

Cloverme, the mastermind behind Age of Rust, created a game called FOMO for Josie’s Yours Truly puzzle. You can download it here if you want to try it out:

We already released a write-up for this puzzle earlier, so you can read jtob’s masterpiece here:

Solve: verify delay sleep cute close sister intact salad century pitch question smart

3.9. OpenSea

If you read the CryptoVoxels puzzle solution, you will recognize this part of the puzzle already.

The Yours Truly #0 NFT on Opensea:

This NFT has the following description: "Yours Truly" puzzle was made in collaboration with Neon District, Twisted Vacancy, Age of Rust, Axie Infinity, Cryptokitties, Cryptovoxels, Opensea, and SuperRare. This NFT has been scribed.

We noticed the text “This NFT has been scribed” at the end, but had no idea what it meant. It wasn’t until mattm noticed that there was a tool called NFT scribe that we finally figured it out:

Inputting the address and token ID for “Yours Truly #0”, we get the following message:

"Enki created a nam-shub to protect against asherah."

We figured this was a good guess for an Opensea puzzle solution because we had not found anything else on there related to the puzzle that was interesting. After we discovered the solution for the Painting and AR puzzles, we figured that we should modify the formatting of the text.

Sure enough...

Solve: enkicreatedanamshubtoprotectagainstasherah

4. The Solution

When you enter all of the solutions into the solution checker, it congratulates you and spits out the seed words for the Yours Truly wallet.


Neon District [[constance.turner|40fea51b2e6de52c]]->[[|19084c01578b09eb]]=[[%/env/compat/scratch/GARBAGE]].0915303471
Axie Infinity 29510789db75ccef5enothing
SuperRare human circumstances are repeating and the story seems to only lay bewildered in your future machinery where ghosts become eternal
Yours Truly - AR whydoifeellikethis?
Yours Truly - Painting yt
CryptoVoxels thesharkreportserrorstofundyourlazymemory
CryptoKitties 47507407073393311908305329322427874768232641620211662879
Age of Rust verify delay sleep cute close sister intact salad century pitch question smart
OpenSea enkicreatedanamshubtoprotectagainstasherah


Seeds: vintage omit vendor chase cargo raise day wine moon olympic siege horror

5. Fin

Thanks to Josie Bellini (aka for putting this amazing puzzle series and event together.

Thanks to the following for sponsoring prizes or being a part of this:

Special thanks to Ben Kelly ( from the Axie community for putting up with ziot's dumb questions and trying to give us ideas for the Axie puzzle!