In the rapidly evolving landscape of artificial intelligence, the need for sophisticated, autonomous AI agents capable of interacting seamlessly across multiple platforms has never been greater.
In this context, ElizaOS emerges as a cutting-edge multi-agent simulation framework, designed to create, deploy, and manage AI-driven personalities with unprecedented flexibility and scalability.
What is ElizaOS?
ElizaOS is a TypeScript-based framework that provides developers with the tools to build intelligent agents that maintain consistent personalities, knowledge, and behavior across different platforms. Whether it's social media automation, customer support, or interactive AI companions, ElizaOS enables the seamless orchestration of multi-agent interactions.
Key Features
- Platform Integration: ElizaOS agents can operate on Discord, Twitter (X), Telegram, Slack, Farcaster, and more.
- Flexible AI Model Support: Compatible with OpenAI, Anthropic, Gemini, LLaMA, Deepseek, Ollama, and Grok.
- Advanced Character System: Agents are fully customizable through character files, defining their personality, knowledge, and behavior.
- Multi-Agent Architecture: Simultaneously manage multiple unique AI personalities.
- Memory Management: Supports RAG-based document processing for better contextual understanding.
- Comprehensive Media Processing: Capabilities include PDF reading, URL analysis, audio transcription, video processing, and conversation summarization.
- Modular and Extensible: Features a pluggable action system, enabling custom functionality such as executing blockchain transactions or retrieving live data.
How It Works
At its core, ElizaOS operates through a runtime engine that acts as the brain of the AI agent. This runtime is responsible for:
- Coordinating Responses: The system determines the best LLM (large language model) for generating contextually relevant outputs.
- Managing Memory: By leveraging a database, agents retain previous interactions, enabling a more coherent conversational experience.
- Executing Actions: Plugins allow agents to perform external tasks like searching the web or interacting with blockchain networks.
- Interfacing with Clients: ElizaOS integrates with various platforms, allowing AI agents to interact with users across multiple digital environments seamlessly.

Showcasing Multi-Chain Capabilities
One of the most exciting applications of ElizaOS is its ability to operate in the blockchain and decentralized finance (DeFi) space. We will showcase a multi-chain agent capable of swapping assets in both TON and MultiversX. This demonstration will highlight how ElizaOS seamlessly interacts with blockchain networks, executes smart contract transactions, and enables on-chain asset management—all within an intelligent and automated AI framework.
The swap tokens action was already available in MultiversX’s plugin, but for this demonstration, it was also added for TON’s official plugin. MultiversX’s action served as a template, and STON.fi’s SDK was used to enable asset querying and swapping through STON.fi’s on-chain contracts.
A 2 step configuration was implemented, requiring user confirmation to finish the swap. This reduces risks due to LLM hallucinations and user misspellings.
Additionally the newly added tonconnect support in TON’s plugin was used to allow users to use their own wallets to execute the swaps.
We forked ElizaOS v0.25.9 and used OpenAI as LLM provider.
You can also interact with the agent and check out a video showing this development and the agent in action.
Adding Custom Actions
Adding additional actions is fairly straightforward:
- Add the necessary action file.
- Update the index.ts file from the plugin.

The default export of the swap action file is as follows
export default {
name: "SWAP_TOKEN_STON",
similes: ["SWAP_TOKENS_STON"],
template: swapTemplate,
description: "Swap tokens in TON blockchain through STON.fi DEX",
validate: async (runtime: IAgentRuntime, message: Memory) => {
… //implementation of validation logic for the swap action
},
handler: async (
runtime: IAgentRuntime,
message: Memory,
state: State,
_options: { [key: string]: unknown },
callback?: HandlerCallback,
) => {
… //implementation of the swap action (available in the repo)
} as Action;
Deploying Multiple Agents
We decided to deploy 3 different dobby agents, one that could interact with both blockchains and one that could only interact with each of them, just for demonstration purposes.
To deploy multiple agents, we opted for modifying the index.ts file of the agent instead of using the default --characters="" option, as we encountered issues when assigning different plugins to different agents. We defined multiple character files in the agent and replaced the default character file with these new ones.

Since each character required access to different wallets depending on the blockchain they interacted with, private keys were set up as character secrets rather than environment variables.

Customization and Branding
Several minor tweaks were made to the default ElizaOS client to reflect our own branding. Additionally, some unnecessary components were removed for this demonstration.
The MultiversX plugin was also modified to help the agent differentiate between actions on different chains and return action results as a response from the character.
Running the Agent and Client
To run the agent and client, the default instructions for local deployment where used
pnpm run dev # for the agent
pnpm run start:client # for the client
Examples of interactions with the agents through the client are shown in the following figures.
Asking capabilities

Swap in Multiversx

Connect wallet and Swap in TON

Start Swap and cancel it in TON

Ask a Multiversx SWAP to only TON agent

Conclusions
We deployed multiple agents with multi-chain capabilities, extending the default capabilities of ElizaOS by adding a swap action to TON’s plugin. This demonstration highlights the flexibility and modularity of ElizaOS, which allows for seamless multi-agent deployment and easy extension of functionalities.
The actions added to Eliza’s TON’s plugin were merged into the official repo, you can use it for your own projects!
If you are looking for developers for your AI Agent project, don’t hesitate to contact us.

