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 addition of liquidity, the placing of bets, the payout processes and fee accumulating.

This contract is an integration point for various other contracts in the Azuro architecture, including the Factory, Access, and Betting Core Engine, Vault, 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.

Vault Contract

The Vault contract is a liquidity store that manages the addition/removal of deposits and distributes protocol's profits/losses fairly.

Vault based on LiquidityTree (opens in a new tab).

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.

Access (opens in a new tab) contract is standalone open source project created and backed by Azuro team.

LiveCore contract

The LiveCore contract is a contracts that encompass the logic of creating Conditions (opens in a new tab), accepting bets, computing payouts for bets, and calculating App rewards (opens in a new tab).

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

The LiveCore contract supports pre-match and live betting condition types and ordinary/combo bets kinds.

Relayer contract

The Relayer contract is entry point for executing all types protocol bets.

The Relayer contract gets (if needed) sponsored transaction fee and sponsored amounts for the bet from the PayMaster contract.

Bettor not executes bet transaction by itself, he fills up bet parameters and sign it, next prepared bet order executes on the Relayer contract by special relayer-executor - this approach allow make bets totally free.

PayMaster contract

The PayMaster contract combines sponsored fee vaults and freebet vaults for all affiliates, so every affiliate can manage (deposit/withdraw) its owned vaults in the contract.

Also PayMaster in case of provided freebets completely manage it, because of freebet bets belongs PayMaster, so all freebet payouts must be done in PayMaster.