TL;DR
Makina is vault infrastructure, not a strategy. Third-party operators run pooled vehicles called Machines, and a cross-chain execution layer called Caliber runs their positions against a Merkle root of pre-approved instructions. The dUSD Machine we were asked about is operated by Dialectic. On paper this is a well-engineered protocol: seven separate audit engagements, invariant fuzzing, a Cantina CTF, a live bug bounty, SEAL Safe Harbor, and an operator that provably cannot withdraw user funds.
Three things decide this, and none of them is the audit list.
The first is access, and it is the one that ends the conversation quickest. Reading the live contracts today, the dUSD Depositor (0x94b1828f91c150c5e6776198e170aca4304903d7) and the dUSD AsyncRedeemer (0x1303c26cfe06bac5bfee29907f37919643def75c) both return isWhitelistEnabled() = true. Depositing, requesting a redemption and claiming assets are all gated by an allowlist that the Risk Manager controls. A $1M ticket into dUSD is not something you execute. It is something you apply for, and your exit remains inside that same permission.
The second is mandate. dUSD is not a basis book. Makina's own operator write-up on Dialectic describes supplying bluechip lending markets, providing asset pairs on AMMs, buying PT tokens from Pendle or Spectra, leverage looping where liquidity allows, and cross-chain strategies. That is a discretionary multi-strategy yield book with real directional and impermanent-loss surface, priced today at 7.53% against a 30-day trailing mean of 2.99%. Makina's own trust model says the quiet part out loud: the protocol caps misbehavior, not market exposure.
The third is the January loss. On 20 January 2026 the protocol lost 1,299 ETH, about $4.13M, and the failure ran straight through the dUSD Machine. A flash loan inflated Curve pool values that a dUSD instruction script read to price its own AUM. Share price jumped from about 1.0118 to 1.3316 inside one transaction and the attacker drained the DUSD/USDC Curve pool. Roughly $3.65M came back, but not because a control caught it: an MEV builder returned 920 ETH and a Rocket Pool validator returned 157.1 ETH voluntarily under Safe Harbor. A good outcome produced by goodwill, not by design.
Checklist
Audits and contracts. The audit stack is genuinely deep and every firm was verified against Makina's own security page: ChainSecurity on core and periphery across three versions (V1 September 2025, V1.1 January 2026, V1.2 May 2026), OtterSec on core and periphery November 2025, SigmaPrime on core and periphery August 2025, Enigma Dark fuzz and invariant testing July 2025 plus a September 2025 review of the periphery and the Machine Share Oracle, and a Cantina CTF in October 2025. There is a live bug bounty on Cantina and Makina has adopted SEAL Safe Harbor. None of it stopped the January loss, and the reason matters more than the count: the vulnerable code was a Weiroll accounting script inside an approved instruction root for a Curve MIM-3CRV position that was deployed after the audits were finalized. Operator instruction roots are authored per strategy and live outside the audited contract perimeter. You are trusting a review process, not a frozen codebase.
Admin control. This is where the previous draft was wrong, and the truth is both more knowable and more useful. Makina publishes its key addresses, and they check out on-chain. The AccessManager is 0x0fCEfa3f1047F35521A49cD8B06faBd588665d7F. It owns the Machine beacon 0x5c680ec39bafe8524f3c2fa9d5f6d65f09bd7333, which the dUSD BeaconProxy at 0x6b006870c83b1cd49e766ac9209f8d68763df721 reads its implementation (0xb655ad796634562136b593397b8b4849f332213f) from. Beacons are shared by design, and Makina's upgrade documentation confirms it: upgrading a class moves every proxy of that class in a single transaction.
Who can pull that lever is now answered. Querying the AccessManager directly, ADMIN_ROLE and INFRA_UPGRADE_ROLE are both held by 0x62244C74e1d09b3D86EF7342d354b5D7770bDE10, which getThreshold and getOwners confirm is a 3-of-5 Gnosis Safe, each role carrying a 172,800-second (48 hour) execution delay. GUARDIAN_ROLE is held by 0x89faa3b02EF5aB185b8ACE489Af62748ACB50Afc, a 2-of-4 Safe, matching the documented Security Council. The other roles resolve to the same DAO Safe at 24 to 48 hour delays, with one strategy-deployment role also held by a TimelockController whose minimum delay is 180 seconds. The AccessManager is itself behind a transparent proxy whose ProxyAdmin (0x16592a0c51aaacc3ed235d2eab55e67d3990b8f8) it owns, so it governs its own upgrade.
So the floor is real and measurable: 48 hours, on-chain, visible, and cancellable by the Security Council for upgrades. It is not cancellable for admin operations, which is Makina's own stated design. And the ceiling is exactly what the docs admit: whoever controls the upgrade mechanism can change the entire logic of the system, and in the worst case all deposited funds could be stolen. One correction to the record while we are here. The Security Council is described as fully trusted because it can veto roots, trigger Recovery Mode and refresh AUM outside the share-price guard, but the documentation is explicit that it holds no power to withdraw user funds. That power sits with governance.
Oracle. Chainlink is the registry-level price source, listed as Primary on DeFiLlama and described in the docs as feeds conforming to the Chainlink AggregatorV3 interface. That is not what broke. Share price comes from an AUM computation that sums position values, and in January some of those values came from live Curve reads inside an operator instruction. Flash loans moved the reads, AUM moved with them, and share price followed. V1.1 shipped in the last week of January with two fixes: a restricted accounting mode with a new accounting-agent role, so only approved entities plus the Operator and Security Council can push valuation updates, and a maximum share-price change parameter scaled by time since the last update. Both were audited by ChainSecurity. Both are guardrails on the blast radius, not a change to the underlying model, which still derives NAV from operator-defined accounting logic. And the guard has a documented bypass: the Security Council, a 2-of-4 multisig, can refresh AUM outside it.
Liquidity and exit. Two layers, and the outer one is the harder. The outer layer is permission: whitelisting is switched on for both the dUSD Depositor and the dUSD Redeemer, so entry and exit both require an approved address. The inner layer is the queue. You lock shares, receive an ERC-721 receipt, wait a minimum finalization delay of 43,200 seconds (12 hours, read on-chain), and the Operator settles requests in FIFO order out of the Machine's idle USDC balance, which the docs call usually a small buffer. If the buffer is short, the Operator must unwind positions and bridge funds to the hub first, and the documentation frames this as a normal, expected part of running a strategy rather than an obligation with a deadline. There is no minimum redeem size (minRedeemAmount is 0), each request is settled at no more than the value quoted when it was made, and 316 requests have been created against 300 finalized, so roughly 15 are outstanding right now. A $1M ticket is about 16% of a $6.41M vault.
Yield (real vs emission). Real in the sense that matters: DeFiLlama reports 7.53% entirely as apyBase with no reward component, and there is no Makina token subsidising it. Two caveats. The 30-day trailing mean for this pool is 2.99%, so today's headline is well above what the vault has actually been paying. And the composition is not market-neutral. Lending supply and PT are close to it, AMM liquidity pairs and leverage looping are not. The fee schedule, previously listed as unknown, reads cleanly off the Fee Manager at 0xa7f0121375dc52028e333f02715183a1d1a690a7: the management rate is zero, the performance fee is 10% over a high-water mark, and a security-module accrual of roughly 0.1% a year is carved out of the fixed portion, with recipients split 40/60. Fees are taken by minting shares, so the cost is dilution socialized across holders. Worth knowing: the Machine's governance-set ceilings permit accrual up to about 3% a year fixed and 45% performance before the backstop bites, and the fee-config role sits with the same 3-of-5 Safe on a 48 hour delay.
Holder concentration. DUSD has 415 holders against a 6,198,875 token supply, with the Machine itself as token owner. The actual distribution remains unverified: Etherscan's top-holders endpoint is Pro-gated and the Nansen holders endpoint returned 403 this run. At $6.41M with an allowlisted holder base, the vault is small enough that a single large redemption sets the queue for everyone behind it.
Track record. DeFiLlama's history starts 30 September 2025, so about ten months. Peak TVL was $107.1M on 29 November 2025 and today it is $36.87M, down about 66%. The slide is not all exploit: TVL was still near $96M on 26 January and drained through February. The three Dialectic Machines were paused into Recovery Mode, normal operations resumed on 26 January 2026, and reporting puts 89% of affected users whole within a week with the remaining 11% covered by a Makina and Dialectic revenue-share plan. Note that Makina's own re-activation post confirms the upgrade and the return to normal state but publishes none of the recovery or restitution figures, so those numbers rest on secondary reporting. Handled well. It is still one incident in ten months, on this exact vehicle.
Worst case
Three paths, and they do not need the same attacker.
The one that already happened: an instruction root is approved with an accounting script that reads a manipulable external value. Share price inflates and anyone holding DUSD against a paired asset gets drained. Timelocks do not help, because the malicious input is not an upgrade, it is a legitimately approved instruction behaving badly under flash-loan conditions. The V1.1 change-rate cap now bounds how far this can move per update, which shrinks the loss but does not close the class, and the Security Council can refresh AUM outside that cap with two signatures.
The one that has not: the 3-of-5 DAO Safe schedules a beacon upgrade or a registry repoint. Forty-eight hours later every Machine runs new code. The Security Council can cancel an upgrade during that window, which is a genuine control, but a compromise of the DAO Safe that goes the admin route instead cannot be cancelled by anyone. Makina's documented mitigation at that point is off-chain response inside 48 hours.
And underneath both sits the exit, which for dUSD is a permission before it is a queue. If either of the above fires, you are relying on an allowlist you do not control and an Operator-settled queue with a 12 hour floor and no committed ceiling. The cross-chain surface is currently dormant for this Machine (DeFiLlama shows Makina TVL as Ethereum only), but the architecture leans on Across, CCTP and LayerZero for liquidity and on Wormhole guardians for cross-chain AUM, so it becomes live the moment the strategy expands.
Bottom line
Avoid for a $1M delta-neutral allocation, on three independent grounds, any one of which is sufficient.
Access first, because it is the cheapest test: deposits and redemptions are allowlist-gated on-chain today. You cannot size this position at will and you cannot exit it at will, which is disqualifying for a sleeve that has to be liquid on demand.
Mandate second: dUSD is a discretionary multi-strategy USD book, not a basis-capture vehicle. The on-chain guardrail constrains which calls the Operator may make, not the net delta of the resulting book, and Makina states plainly that the protocol caps misbehavior rather than market exposure. Nothing structurally prevents directional or impermanent-loss exposure inside an approved instruction set.
Risk third: an exploited share-price surface on this exact Machine six months ago, and a shared upgradeable beacon that a 3-of-5 multisig can replace after 48 hours. The governance is better documented and better verified than most, and credit is due for publishing the addresses. It is still full upgradeability over user funds, by their own admission. At 7.53% headline against a 2.99% trailing mean, the reward does not clear that bar.
One structural note for anyone tempted to split the difference by picking a different Makina Machine. Do not. The January failure lived in Caliber's instruction accounting and the Machine share-price computation, both shared infrastructure, and every Machine reads its implementation from the same beacon under the same AccessManager. This is a Makina-level verdict, not a Dialectic-level one. The USDSHFMK Machine at $24.85M and 6.79%, and the rest of the lineup, inherit the same admin, oracle and upgrade surfaces. Revisit if AUM accounting stops depending on operator-authored scripts reading spot state, if the redemption allowlist is lifted or the settlement window is contractually bounded, and if the protocol puts twelve clean months behind it.
Data appendix
- TVL: $36,869,307 protocol-wide, Ethereum only (DeFiLlama /tvl/makina). ATH $107,105,413 on 2025-11-29, so down about 66%. 90 days ago (2026-04-21): $33,174,225. History begins 2025-09-30. Category: Onchain Capital Allocator. Methodology: TVL counts total supply of protocol share tokens.
- dUSD: $6,407,792 at 7.53% apyBase, zero apyReward, 30-day mean 2.99%, sigma 0.156 (DeFiLlama yields, pool a0387f4b-18ba-5fb5-8171-0f177254dfeb). Corroborated on-chain: Machine
lastTotalAum()= 6,408,968.42 USDC,lastGlobalAccountingTime()= 2026-07-19 15:23 UTC, implied share price 1.0339 USDC. Accounting token is USDC.recoveryMode()= false. Share supply cap is 75,000,000 shares against 6.20M outstanding. - Sibling Machines: USDSHFMK $24,848,453 at 6.79% (30d mean 4.91%), INTMKSRROYUSDC $12,964,112 at 3.23% (30d mean 4.52%), DETH $4,984,232 at 4.36% (30d 3.42%), DBIT $625,323 at 0.47% (30d 0.64%), DQAEETH $494,077 at 0.37% (30d 1.46%). DeFiLlama's token breakdown lists only DUSD, DETH, DBIT and USDSHFMK, so the Senior Royco and dQAE Machines are absent from the $36.87M total. Treat per-Machine sizes as approximate.
- Audits: ChainSecurity core and periphery, V1 Sept 2025, V1.1 Jan 2026, V1.2 May 2026. OtterSec core and periphery Nov 2025. SigmaPrime core and periphery Aug 2025. Enigma Dark fuzz and invariant testing Jul 2025, periphery and Machine Share Oracle Sept 2025. Cantina CTF Oct 2025. Bug bounty on Cantina, SEAL Safe Harbor adopted (docs.makina.finance/concepts/security/audits).
- Admin and governance, all read from mainnet this run: dUSD Machine 0x6b006870c83b1cd49e766ac9209f8d68763df721, verified BeaconProxy. Beacon 0x5c680ec39bafe8524f3c2fa9d5f6d65f09bd7333, implementation 0xb655ad796634562136b593397b8b4849f332213f. Beacon owner is AccessManager 0x0fCEfa3f1047F35521A49cD8B06faBd588665d7F (
minSetback()432000 = 5 days), itself a TransparentUpgradeableProxy whose ProxyAdmin 0x16592a0c51aaacc3ed235d2eab55e67d3990b8f8 it owns. Roles: ADMIN_ROLE (0) and INFRA_UPGRADE_ROLE (6) held by DAO Safe 0x62244C74e1d09b3D86EF7342d354b5D7770bDE10, threshold 3, 5 owners, execution delay 172,800s (48h) each; INFRA_CONFIG (1) and LINKING (3) at 86,400s; MANAGEMENT_CONFIG (4) and FEE_CONFIG (5) at 172,800s; STRATEGY_DEPLOYMENT (2) at zero delay, also held by TimelockController 0x704426787b8ee87e89d7902dd381aa36444ac167 (minDelay 180s); GUARDIAN_ROLE (7) held by Security Council Safe 0x89faa3b02EF5aB185b8ACE489Af62748ACB50Afc, threshold 2, 4 owners, zero delay. The deployer EOA 0x700c7d7d9358f30fa17f4a6b73611d2bcbdb5da2 revoked its own admin role on deployment day. A third TimelockController, 0xa113be73b97753a81a63d2539809b90451f1ec56, carries a 86,400s minimum delay. Docs match: upgrades and registry repoints run on a 2-day delay, cancellable by the Security Council; admin operations have no guardian. - Oracle: Chainlink listed as Primary (DeFiLlama oraclesBreakdown); Oracle Registry feeds conform to the Chainlink AggregatorV3 interface. Share price derives from an AUM computation over positions. January 2026 root cause was a Weiroll instruction reading Curve MIM-3LP3CRV-f
calc_withdraw_one_coinand a 3pool balance; share price moved 1.011771 to 1.331577 in one transaction (CertiK). V1.1 added restricted accounting mode, an accounting-agent role, a time-scaled maximum price-change parameter and LayerZero bridge support. - Deposits and redemptions: Depositor 0x94b1828f91c150c5e6776198e170aca4304903d7,
isWhitelistEnabled()= true. Redeemer 0x1303c26cfe06bac5bfee29907f37919643def75c,isWhitelistEnabled()= true,finalizationDelay()= 43,200s (12h),minRedeemAmount()= 0,nextRequestId()= 316,lastFinalizedRequestId()= 300. Deposits are atomic; redemptions are an Operator-settled FIFO queue with an ERC-721 receipt. The whitelist is toggled and managed by the Risk Manager. - Fees: Fee Manager 0xa7f0121375dc52028e333f02715183a1d1a690a7.
mgmtFeeRatePerSecond()= 0,perfFeeRate()= 10% over high-water mark,smFeeRatePerSecond()≈ 0.1% a year to the Security Module, recipient split 40/60 across 0x68825baf... and 0x7d51adf7... Machine-level ceilings:maxFixedFeeAccrualRate()≈ 3.0% a year,maxPerfFeeAccrualRate()≈ 45%. Fees are charged by minting shares (dilution). - Holder concentration: 415 DUSD holders, supply 6,198,874.8, token owner is the Machine (Ethplorer). Top-holder distribution: refresh (Etherscan Pro paywall; Nansen holders endpoint returned 403).
- Incident record: 2026-01-20, 1,299 ETH / about $4.13M. DeFiLlama's hack registry logs it at $4.2M dated 2026-01-19 UTC, classification Protocol Logic, technique Flashloan Price Oracle Attack, plus an LP exploited hallmark on 2026-01-20. Target was the DUSD/USDC Curve pool 0x32E616F4f17d43f9A5cd9Be0e294727187064cb3; Caliber 0x06147e073B854521c7B778280E7d7dBAfB2D4898. Over $3.65M recovered per reporting: 920 ETH from an MEV builder less a 10% Safe Harbor bounty, 157.1 ETH from a Rocket Pool validator, 229,963 USDC from post-exploit arbitrage. 89% of users whole within a week; remaining 11% via a Makina and Dialectic revenue-share restitution plan. The three Dialectic Machines (DUSD, DETH, DBIT) entered Recovery Mode; normal operations resumed 2026-01-26. Makina stated the exploit was isolated to the Curve pool and that underlying platform assets were unaffected. No second incident found in the news scan through 2026-07-19.
- Funding: $3M strategic round dated 2025-06-25 (DeFiLlama raises), investors including Bodhi Ventures, Cyber Fund, Interop Ventures, Steakhouse Financial, Notation Capital, BaseDAO and Hypernative Labs.
- External dependencies: bridge adapters for Across, CCTP and LayerZero; cross-chain AUM relayed via Wormhole guardian signatures; spoke-chain sequencer trust. Currently dormant for dUSD, which DeFiLlama shows as Ethereum only.
- Not verified this run: the dUSD strategy page at makina.finance/strategy/DUSD renders client-side and returned no readable text, so current allocations and the exact mandate wording could not be read from the primary page. Strategy composition above is from Makina's own operator write-up on Dialectic. Nexus Mutual cover is advertised in the site footer ("Coverage for your Machine, Powered by Nexus Mutual"); whether dUSD carries active cover is refresh.
securityModule()reverts on the dUSD Machine, so a loss-absorbing Security Module for this strategy is not confirmed.
Maintained monthly. Methodology: DeFi Research Instruction v2.