An MMORPG game made using RPG JS framework which showcases global chat and NPCs powered by AI Agent. Every AI Agent is made using Coinbase AgentKit framework which can not only chat but execute custom actions based on prompts. All agents have the capabilities to manage their wallets.
We have made specialized AI Agents to communicate with popular Web3 services like AAVE and Uniswap.
Chat responses from the AI Agents are recorded and first 16 characters are hashed with SHA-256 and uploaded to EigenDA which provides randomness generated through AI and user interaction available for any service to use.
Use arrow keys to move around the map. Use space near an NPC to get it's description.
Click on an NPC to open chat prompt and start using the AI Agent.
- AAVE NPC : Works on Eth Sepolia testnet. Can connect with AAVE and execute the functionalities provided by AAVE.
- Uniswap NPC : Swap tokens
- Simple NPC : Works on Base Sepolia testnet. Can mint ERC20 and NFTs and interact with it.
- EigenDA NPC : Works on Eigen DA Holesky testnet. Even though EigenDA randomness uploading works in the background, this NPC showcase that capability manually. Send the string you want upload, at max 16 characters of the string will be uploaded. Wait for a few minutes and the response will show the details of the uploaded blob.
RPG JS provides with the game server. The AI Agents are hosted as API services and are invoked on NPC interactions.



After git cloning the project with the submodules, install all node modules using npm i
.
To start the agents locally, go to general-coinbase-agent
, aave_agent
, uniswap_agent
and EigenDA_connector
: -
- Fill
.env
for each directory
CDP_API_KEY_NAME
CDP_API_KEY_PRIVATE_KEY
OPENAI_API_KEY
NETWORK_ID=sepolia #or base-sepolia for general agent
USER_PRIVATE_KEY
OPENAI_API_BASE
SEPOLIA_RPC_URL
PORT
- Run the command
npm start
ornpm run dev
according to thepackage.json
for each directory in a single terminal. Now go to the./src/game/main/gui/tooltip.vue
and change all the API endpoints as necessary.
Now go to root directory and run npm run dev
to start the project.
- RPG JS for the game framework
- Coinbase AgentKit for the AI Agent framework
- EigenDA for providing randomness through AI and user interaction