Tokaido Cats is a fun collection. It is based on "Cats Suggested as the 53 Stations of the Tōkaidō", created by Utagawa Kuniyoshi. In turn, Kuniyoshi's art is a playful take on the famous work of Hiroshige, called "The 53 Stations of the Tōkaidō".
The Tōkaidō was one of the roads constructed by Tokugawa Ieyasu, connecting Edo (now Tokyo) with Kyoto. Hiroshige traveled the Tōkaidō in 1832, and created 55 drawings along the way. (For some reason he didn't count the start and end stations in the title, so the series of 55 prints is known as the "53 stations". )
I love the art, both the original and Kuniyoshi's take as well. The Tokaido Cats collection was created in 2023, and I feel there is a lot of fun left in it.
There was always a plan to turn the cats into a "sticker book". But the first (and second, and uh, the third) sticker book collection was not flexible and easy to use enough.
But the new Galaxis App framework gave me a new hope -- I spent my weekend on working on a new "Tokaido" app, and got far enough to release it. It turns out that it is fairly simple now to write a stickerbook-like application of any collection, entirery in "user-space". It means any community owner can follow my example and turn their nfts or collections into a GRD-like stickerbook.
Well, with one caveat. As we will see, it is easy to set rules based on the collection details, and it is also easy to reward users for the combos, exactly like we did with grd. The one thing that is still missing is the graphical implementation. I am working on that, but I want a solution that can provide a graphical interface for any quests, not only for the ones that look like stickerbooks.
For now, we have Tokaido Cats Travel Pass, a new collectible quest.
Scoring is still in beta, and not yet being added to the multipliers.
In order to understand the quests, we need to remember that the Tokaido was a road, with many rest stations on the way. Hirosige immortalized 55 of these stations, and Kuniyoshi assigned a cute cat drawing for each of those 55 stations.
The sequence of the stations (and the corresponding cats) is the following:
| # | Name | Cat | Original art |
|---|---|---|---|
| 1 | nihonbashi | ![]() |
![]() |
| 2 | shinagawa | ![]() |
![]() |
| 3 | kawasaki | ![]() |
![]() |
| 4 | kanagawa | ![]() |
![]() |
| 5 | hodogaya | ![]() |
![]() |
| 6 | totsuka | ![]() |
![]() |
| 7 | fujisawa | ![]() |
![]() |
| 8 | hiratsuka | ![]() |
![]() |
| 9 | oiso | ![]() |
![]() |
| 10 | odawara | ![]() |
![]() |
| 11 | hakone | ![]() |
![]() |
| 12 | mishima | ![]() |
![]() |
| 13 | numazu | ![]() |
![]() |
| 14 | hara | ![]() |
![]() |
| 15 | yoshiwara | ![]() |
![]() |
| 16 | kanbara | ![]() |
![]() |
| 17 | yui | ![]() |
![]() |
| 18 | okitsu | ![]() |
![]() |
| 19 | ejiri | ![]() |
![]() |
| 20 | fuchu | ![]() |
![]() |
| 21 | mariko | ![]() |
![]() |
| 22 | okabe | ![]() |
![]() |
| 23 | fujieda | ![]() |
![]() |
| 24 | shimada | ![]() |
![]() |
| 25 | kanaya | ![]() |
![]() |
| 26 | nissaka | ![]() |
![]() |
| 27 | kakegawa | ![]() |
![]() |
| 28 | fukuroi | ![]() |
![]() |
| 29 | mitsuke | ![]() |
![]() |
| 30 | hamamatsu | ![]() |
![]() |
| 31 | maisaka | ![]() |
![]() |
| 32 | arai | ![]() |
![]() |
| 33 | shirasuka | ![]() |
![]() |
| 34 | futagawa | ![]() |
![]() |
| 35 | yoshida | ![]() |
![]() |
| 36 | goyu | ![]() |
![]() |
| 37 | akasaka | ![]() |
![]() |
| 38 | fujikawa | ![]() |
![]() |
| 39 | okazaki | ![]() |
![]() |
| 40 | chiryu | ![]() |
![]() |
| 41 | narumi | ![]() |
![]() |
| 42 | miya | ![]() |
![]() |
| 43 | kuwana | ![]() |
![]() |
| 44 | yokkaichi | ![]() |
![]() |
| 45 | ishiyakushi | ![]() |
![]() |
| 46 | shono | ![]() |
![]() |
| 47 | kameyama | ![]() |
![]() |
| 48 | seki | ![]() |
![]() |
| 49 | sakashita | ![]() |
![]() |
| 50 | tsuchiyama | ![]() |
![]() |
| 51 | minakuchi | ![]() |
![]() |
| 52 | ishibe | ![]() |
![]() |
| 53 | kusatsu | ![]() |
![]() |
| 54 | otsu | ![]() |
![]() |
| 55 | kyoto | ![]() |
![]() |
When you check your tokaid cat nft, in the metadata you will find the station's name. For example this one on opensea belongs to Oiso station, which is station #9.

Your job is to collect Tokaido Cats NFTs in a way that they cover a continuous segment of the road. As the base rule, each 5 consecutive cats give you +1 multiplier.
In the above example, the Osio Cat NFT will not be enough to get you any points. You would need 4 more, in a way to make a continuous path. So if you have 9 (Oiso), you need to have one of the other for:
| cat 1 | cat 2 | cat 3 | cat 4 | cat 5 |
|---|---|---|---|---|
| 9 | 10 | 11 | 12 | 13 |
| 8 | 9 | 10 | 11 | 12 |
| 7 | 8 | 9 | 10 | 11 |
| 6 | 7 | 8 | 9 | 10 |
| 5 | 6 | 7 | 8 | 9 |
Any of the above combinations will give you 0.5 points.
If you have 10 in a row, then you get 1 points.
15 will give you 1.5 points, and so on.
For each "extra" cat (either duplicate or not in the longest sequence) you get a deduction of 0.02 points
Note sequences are only valid in sets of 5, so 9 cards in a sequence is just 5 cards in a sequence + 4 extra
Point cap is currently 3.
If the cats in the sequence have the same background, that will give you extras. Not yet implemented.
If you have at least one Tokaido Cat, you will get at least 0.1 points.
The current implementation is on github: https://github.com/akomba/tocats/blob/master/tocats/tocats.py Check the calc_value function.
version: 0.5.4
[0, 4, 0, 1, 5, 3, 1, 3, 2, 2, 1, 2, 1, 5, 1, 3, 0, 1, 1, 2, 1, 5, 2, 1, 2, 4, 6, 3, 3, 5, 3, 0, 2, 2, 1, 2, 3, 4, 4, 0, 0, 3, 5, 5, 4, 2, 0, 2, 1, 2, 3, 2, 4, 1, 5]
total: 130
extras: 120 : -2.4 points
longest: 10 : 2.0 points
points: 0.1
--------------------
[0, 1, 0, 0, 3, 3, 2, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 2, 0, 1, 0, 3, 3, 2, 0, 0, 2, 0, 2, 1, 1, 2, 1, 1, 2, 2, 3, 1, 2, 1, 1, 0, 1, 0, 1, 6, 0, 1, 2, 0, 0, 4, 0]
total: 65
extras: 55 : -1.1 points
longest: 10 : 2.0 points
points: 0.89
--------------------
[0, 2, 0, 2, 0, 0, 1, 0, 0, 1, 3, 2, 0, 0, 1, 2, 1, 0, 3, 3, 0, 2, 1, 1, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 2, 0, 2, 1, 0, 0, 0, 2, 1, 1]
total: 46
extras: 46 : -0.92 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0]
total: 13
extras: 13 : -0.26 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[0, 0, 0, 1, 0, 1, 0, 2, 0, 5, 1, 2, 0, 3, 0, 1, 0, 0, 1, 0, 0, 0, 3, 0, 1, 1, 2, 0, 2, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 3, 2]
total: 45
extras: 45 : -0.9 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
total: 1
extras: 1 : -0.02 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 1, 0, 2, 0, 2, 0, 0, 4, 0, 0, 2, 0, 0, 6, 0, 2, 2, 3, 2, 0, 2, 1, 1, 0, 0, 0, 1, 0, 0, 0, 2, 2, 1, 3, 0, 0, 1, 0, 2, 1, 0, 2, 1, 1]
total: 53
extras: 53 : -1.06 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[0, 1, 2, 0, 2, 2, 2, 0, 0, 1, 3, 2, 2, 0, 0, 4, 0, 0, 2, 3, 0, 3, 1, 2, 6, 1, 1, 0, 2, 3, 1, 0, 3, 2, 0, 1, 2, 3, 0, 0, 1, 0, 0, 4, 1, 2, 1, 1, 1, 0, 2, 0, 1, 2, 1]
total: 74
extras: 69 : -1.3800000000000001 points
longest: 5 : 1.0 points
points: 0.1
--------------------
[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 2, 0, 4, 0, 1, 0, 1, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 2, 0, 5, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 1]
total: 36
extras: 36 : -0.72 points
longest: 0 : 0.0 points
points: 0.1
--------------------
[1, 2, 0, 2, 0, 2, 0, 1, 0, 3, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 2, 0, 0, 1, 3, 3, 0, 1, 1, 3, 1, 1, 4, 1, 0, 0, 0, 0, 4, 0, 0, 1, 2, 1, 2, 1, 1]
total: 61
extras: 51 : -1.02 points
longest: 10 : 2.0 points
points: 0.98
--------------------
[0, 1, 0, 2, 0, 3, 0, 0, 1, 6, 3, 2, 1, 1, 2, 3, 1, 1, 4, 5, 1, 3, 1, 0, 1, 5, 3, 1, 4, 3, 3, 1, 5, 2, 2, 3, 1, 2, 4, 1, 6, 1, 0, 4, 2, 0, 1, 1, 0, 2, 4, 0, 2, 2, 0]
total: 107
extras: 92 : -1.84 points
longest: 15 : 3.0 points
points: 1.15