Developer Hub
🧩 For blockchains
Azuro Architecture

Azuro Architecture

Core Components

Factory Contract

The Factory is the starting point in Azuro's architecture, allowing for the creation of Liquidity Pools and Betting Engines. Connecting a new blockchain starts with deploying this contract.

  1. Using the standard Ethereum token interfaces (ERC721), it can be adapted to any EVM-compatible blockchain. Also, a modular approach allows for different "cores" and "beacons" to be plugged in and updated.
  2. OpenZeppelin's BeaconProxy means upgradable smart contract patterns, which is essential for maintaining compatibility with evolving blockchain ecosystems.
  3. Allows customization of core types, liquidity pool settings, and fees, indicating adaptability to different blockchain requirements and use cases.

LP Contract

The LP contract manages the pools and contains the logic for the betting system, empowering users to engage confidently in the ecosystem.

Key functions within this contract handle the creation and cancellation of games, the addition of liquidity, the placing of bets, and the payout processes.

This contract is an integration point for various other contracts in the Azuro architecture, including the Factory, Access, and Betting Engines, indicating its critical position in the overall system. It showcases the ability to interact with other components like data providers and affiliates, demonstrating the modular and interconnected nature of Azuro's smart contract ecosystem.

Access Contract

The Access contract in Azuro's architecture is a critical component designed to manage access control to various functionalities within the ecosystem.

The contract uses a token-based system where each token represents a role with associated permissions. The binding of roles to contract functions and the assignment of roles to user accounts are central features that enforce the access control logic.

Prediction Engines

A Prediction Engine (aka Betting Engine) is a collective term for contracts that encompass the logic of creating Conditions (opens in a new tab), accepting bets, computing payouts for bets, and calculating Affiliate (opens in a new tab) rewards (opens in a new tab).

These contracts are plugged into the Pool (opens in a new tab) by its owner via the Factory (opens in a new tab), and access to place bets and withdraw payouts is only granted through the LP (opens in a new tab) contract for which it was deployed.

A Betting Engine can inherit the CoreBase (opens in a new tab) contract that contains the fundamental logic to facilitate the betting process on multi-outcome Conditions.