Architecture
This page builds the mental model you'll use for the rest of the documentation: the major components, how they fit together, and the vocabulary the protocol uses. Read it once and the deeper sections will slot neatly into place.
The two core components
Every Makina strategy is built from two kinds of contract:
- The Machine is the vault and accounting layer. It lives on a single chain (the Hub Chain) and is the strategy's front door: it accepts deposits, issues the machine token, computes the share price, charges fees, and aggregates the value of everything the strategy holds (including capital on other chains) into one number, the AUM (assets under management).
- The Caliber is the execution layer. A Caliber is where assets are actually deployed into external protocols. It opens and manages positions, swaps tokens, harvests rewards, and reports the value of everything it holds back to the Machine.
A strategy always has one Machine, and one Caliber per chain it operates on. The Caliber on the Hub Chain sits next to the Machine. Additional Calibers on other chains (Spoke Chains) extend the strategy across the multi-chain landscape.
Core vs. periphery
The contracts are organized into two repositories, and the distinction is worth understanding early:
- Core (makina-core) is the trust-critical engine: the Machine, the Calibers, the cross-chain bridging and accounting plumbing, and the shared registries that price assets and resolve dependencies. Core contracts hold and move the funds.
- Periphery (makina-periphery) comprises the modular contracts that surround a Machine and can be swapped per strategy: the Depositor (entry point), the Redeemer (exit queue), the Fee Manager (fee policy), and the Security Module (insurance backstop).
The split matters because it is how Makina stays flexible. Different strategies need different deposit rules, redemption flows, and fee models. Rather than baking those into the Machine, the Machine delegates them to interchangeable periphery contracts. The Machine only knows "my depositor", "my redeemer", "my fee manager", and each can be a different implementation.
Shared infrastructure
Alongside the per-strategy contracts, a set of protocol-wide infrastructure contracts are deployed once per chain and shared by every strategy:
- The Oracle Registry prices any token against the strategy's reference asset using Chainlink-compatible price feeds, the foundation of all accounting.
- The Token Registry maps a token to its equivalent address on each foreign chain, so the protocol can reason about "the same token, on another chain."
- The Swap Module routes swaps through approved external aggregators.
- Registries and factories deploy new strategies and let the protocol resolve and upgrade shared dependencies. See Protocol Upgrades.
These are covered in Pricing & Oracles and the Contracts reference.
How the pieces interact
Three flows tie the system together. Each has its own section, summarized in one paragraph here.
Capital flow. Users deposit the accounting token through the Depositor and receive shares. The Operator moves idle capital from the Machine into Calibers (and across chains via bridging), where it is deployed into positions. To exit, users request a redemption through the Redeemer. The Operator frees up liquidity and the redemption is settled. See Asset Lifecycle.
Accounting flow. Each Caliber values everything it holds in the accounting token. The Machine sums the value of its idle balance, the Hub Caliber, and every Spoke Caliber to produce the strategy's total AUM, from which the share price is derived. Because Spoke Calibers live on other chains, their values are relayed to the Machine through Chainlink CRE. See Share Price.
Control flow. The Operator executes the strategy but only within bounds: a pre-approved instruction set, per-position risk caps, loss limits, and cooldowns. The Risk Manager sets those bounds (most changes pass through a timelock), and the Security Council can veto changes and trigger Recovery Mode. See Roles & Governance.
Glossary
| Term | Meaning |
|---|---|
| Machine | The per-strategy vault on the Hub Chain. Handles deposits, redemptions, shares, fees, and total AUM. See Machine. |
| Caliber | The per-chain execution engine that deploys assets into external protocols. See Caliber. |
| Hub Chain | The chain a strategy's Machine lives on, where users deposit and redeem. Each Makina instance has one hub chain. |
| Spoke Chain | Any additional chain a strategy operates on, hosting a Caliber and a Caliber Mailbox. |
| Share / Machine Token | The ERC-20 token representing a proportional claim on the strategy. Its value is the share price. See Machine Token. |
| Accounting Token | The single asset a strategy is denominated in (e.g. USDC, WETH). The only token users deposit and redeem, and the unit in which all value is measured. |
| Base Token | A token a Caliber may hold directly and that is priceable against the accounting token. The "raw materials" positions are built from. See Base Tokens. |
| AUM | Assets under management: the total value of everything a strategy controls, in accounting-token terms. |
| Position | A deployment of capital into an external protocol, tracked and valued by a Caliber. Can be an asset or a debt. See Positions. |
| Instruction | A pre-approved, governance-committed action the Operator may execute via the MakinaVM. |
| Operator | The entity that executes the strategy day to day. Onchain, this role is held by an address the contracts call the mechanic. The operator() getter returns that address normally, and the Security Council's address while Recovery Mode is active. Throughout these docs we use the term Operator. See Operator. |
| Risk Manager | The entity that sets and adjusts a strategy's risk parameters and proposes new instructions, mostly through a timelock. See Risk Manager. |
| Security Council | The emergency oversight body that can veto risk changes and trigger Recovery Mode. See Security Council. |
| Recovery Mode | An emergency state that strips the Operator of normal powers and restricts the strategy to unwinding only. See Recovery Mode. |