Skip to main content

Overview

Omo Protocol introduces a groundbreaking approach to asset management in decentralized finance (DeFi). By leveraging state-of-the-art technologies and innovative design principles, Omo aims to simplify and enhance the DeFi experience for users of all levels. Let’s explore the key concepts that make Omo Protocol unique and powerful, starting with a comparison between traditional approaches and Omo’s innovative solution.

Evolving DeFi: From Traditional to Agentic

The Standard Approach: Router and Adapter Contracts

Traditionally, DeFi protocols rely on a complex system of smart contracts to manage user funds and execute strategies.
Router contracts serve as the primary entry point for user interactions in traditional DeFi protocols. They play a crucial role in:
  • Directing user funds to the appropriate contracts within the protocol ecosystem
  • Routing function calls to the correct implementation contracts
  • Managing access control and permissions for various protocol functions
  • Orchestrating complex multi-step transactions across multiple contracts
While router contracts provide a centralized point of interaction, they can also introduce additional complexity and potential security risks due to their pivotal role in the system.
Adapter contracts act as intermediaries between the main protocol and external DeFi platforms. Their key functions include:
  • Translating generic calls from the main protocol into protocol-specific actions
  • Handling the intricacies of interacting with various external DeFi protocols
  • Normalizing data and function calls across different platforms
  • Implementing safety checks and fail-safes for external interactions
While adapter contracts enable protocols to interact with a wide range of external platforms, they also introduce additional layers of complexity and potential points of failure in the system.
This approach has several limitations:
  • Complexity: Multiple contract interactions increase the risk of errors and vulnerabilities.
  • Rigidity: Adapting to new protocols or strategies often requires writing and auditing new smart contracts.
  • Security Vulnerabilities: Multiple contract interactions increase attack surface and potential for exploits.
    Traditional DeFi Flow

    Traditional Flow

Omo’s Innovation: Agentic Workflow

Omo Protocol replaces the traditional router and adapter contract system with an agentic workflow:
  • AI-Powered Agents: Smart, programmable wallets that execute DeFi strategies directly, interacting with protocols like a savvy user would, without intermediary contracts.
  • Flexible Automation: Strategies can be updated and optimized without changing underlying smart contracts.
  • Cross-VM Capability: Agents can seamlessly operate across different virtual machines and blockchain architectures, enabling user-centric composability unprecedented in the industry
    Traditional DeFi Flow

    Agentic Flow

Benefits of the Agentic Workflow:

The agentic workflow reduces complexity by minimizing potential vulnerabilities associated with complex smart contract interactions, while improving adaptability by allowing agents to quickly adjust to new protocols and market conditions.

Beacon Vault

The Omo Beacon Vault utilizes the 7540 EIP to facilitate asynchronous deposists and redeems. Here the user deposits into the vault, and based on arbitrary epoch. Their request deposit will be fulfilled, while simultaneously when the requestDeposit() event is emitted. That is then converted into a webhook which serves to ping the agent to call the borrow() when the users capital is present.

Asynch Vault & Agent Flow

Deposit Flow

The deposit flow begins when a user calls the requestDeposit() function. This action generates a unique requestId, which identifies the user as the controller of the funds in the asynchronous vault. After an arbitrary epoch has passed, the deposit() function is triggered, minting shares for the user and effectively moving the funds into the vault. Simultaneously, the DepositRequested event log is emitted and converted into a webhook. This webhook pings the agent to call the borrow() function, initiating the agent-powered structured product.

Redemption Flow

The redemption process starts when a user calls the requestRedeem() function. This action burns the user’s shares and uses the unique requestId to parse through the vault capital. The redemption is executed when the claimRedeem() function is called, which triggers the internal _executeRedeems() function. This function returns the user’s principal deposit along with any profits. Concurrently, the RedeemRequested event log is emitted and converted into a webhook. This webhook alerts the agent to unwind the position specific to the user’s requestId.