Monday | 16 MAR 2026

2026-03-15
Reverse Engineering the UniRPC Protocol

reverse-engineering, claude, ai, llm, universe

I originally made my first attempt in November, this post and was mostly unsuccessful. Even though the post is optimistic, I quickly realized the implementation fundementally had problems. I tried dropping in the python project in and ran into all sorts of bugs and so I left the project.

I recently tried it again, this time I set up a UniVerse installation in a VM and gave Claude root access. This way it could run and monitor things directly. I set up some BASIC programs and gave some instruction on how to call them through the official SDK and I gave it access to my previous JS wrapper to run things vide node as well.

I then set up a ralph loop and had Claude reverse engineer the protocol and create a go port of the protocol. This worked fantastically. It was about 15 steps of the loop and it took probably 6 hours but I ran this overnight. When I woke up, I had a functioning go port of the library. I then had Claude generate a new version for JavaScript, this way I could remove the node-gyp issues. I wanted a pure JS implementation. This took about 25 steps for some reason but Claude got through this as well without any input from me.

At the end I had a fully workin javascript port with no depenedencies. I swapped this into one of my existing projects and it worked almost perfectly. I had one small issue where Claude went with an async await structure and so I needed to make all of my subroutine calls async. However this was a minor change and once I made it, everything worked as is.

I took a quick look at the code and it looks relatively simple and clean. The protocol itself was simple and I would bet that there is probably some simplification that can still be done.

But the very fact that I had to do no work to do this is amazing. Now I'm not reliant on Rocket in providing a library to talk to UniVerse. I can talk directly from Javascript and Go now in addition to the native Python SDK. I would bet that this would work well for Rust and any future language I would want to use.

Closing Thoughts

This is the kind of project I think AI is great for. I had no real desire to actually study the protocol and figure it out. This should really be an open spec that we could program against as I imagine that would result in many UniVerse RPC libraries coming out. This is ultimately a good thing in my eyes as making UniVerse easier to access is key to growing it.

However this is the next best thing where the protocol is easy enough to have AI study. I don't care for the code, I really want to connect to the RPC port and call some functions and get some data back.

The great thing here is that I also have connection pooling and SSL support so this port has been great. I've already started using it and it looks to be working beautifully.