Collectible NFT personalities for AI Agents. Runereum is an AI Agent Summoning Platform via collectible NFTs. Each NFT is created with a random personality, and these agents have access to funds and transactions in the Base L2 network, and their data lives in Filecoin
Prize Pool
Prize Pool
Prize Pool
Our project is an AI Agent Summoning Platform. Each NFT is a different personality and can interact with the Base L2 Chain thanks to an AI Large Language Model integration via AgentKit. The user can interact with the NFTS it owns and the agent can interact with the blockchain on behalf of the users.
We also wanted to add "equipment"; like baseball bats, caps and skateboards, to give the agents more interactivity, but we did not have the time.
We intended to use The Graph as our data backend, but we could not complete it on time.
We also wanted to implement "rare tokens" with extra personalities that made them more valuable as collectibles, but we could not implement it on time.
It starts with a standard ERC-721 contract we wrote and then deployed on the Base L2 Chain. That contract is integrated with Coinbase's AgentKit: that framework has an AI Large Language model with LangChain integration that has access to a fully funded wallet on Base, and since that agent has "owner" rights to the wallet, it can execute transaction when it wants to. (Hacky stuff: we had to write our own ERC-721 contract and then transfer the ownership to the agent, we needed some more functionality that the default contracts from Coinbase were missing). Each NFT from the contract has its own "personality". When interacting with AgentKit you choose one of the tokens you own, and that token's personality is added to the LLM prompt, similar to a mask. Each personality is generated randomly after minting a token: the agent chooses three attributes randomly amongst a list of a thousand, and then saves those settings in Filecoin via the Akave provider. We deployed an "Akave Link" node on an AWS EC2 instance running Docker, funded it with the Akave Faucet, and now we use it as our entry point to the Filecoin ecosystem. Akave saves our settings in individual files inside our decentralized object storage bucket. We also save the generated images on the same Akave bucket. And we save the URIs of both files in the contract itself via a contract call, so that the files are always available to the user. The Token NFT is minted as an "egg" which has no attributes, and then the user has to "hatch" it manually with another button. We did that because generating the attributes and the images has to be done after creating the token, and just turned out to be a good narrative device.
https://miro.com/app/board/uXjVLE0ZFqI=/