DeFi Protocol Integrations

NMT integrates with 8 DeFi protocols across 4 EVM chains. Each protocol is connected at three levels:

  1. Smart contract module — on-chain execution adapter
  2. Backend worker — data indexing and valuation
  3. Frontend adapter — UI transaction encoding and display

Protocol Summary

Protocol Category Chains Smart Contract Backend Worker Frontend Adapter
Uniswap V2 DEX ETH, Base UniswapV2Module uniswap_v2 service lib/defi/uniswap/v2
Uniswap V3 DEX (CL) ETH, Base, Arb UniswapV3Module uniswap_v3 service lib/defi/uniswap/v3
Uniswap V4 DEX (CL) ETH, Base (via V3 module) uniswap_v3 service lib/defi/uniswap/v4
Aave V3 Lending ETH, Base, Arb, Opt AaveModule aave service lib/defi/aave
Morpho Lending ETH, Base MorphoModule morpho service lib/defi/morpho
Yearn Vaults ETH YearnModule yearn service lib/defi/yearn
Aerodrome DEX Base AerodromeModule aerodrome service lib/defi/aerodrome
Aero Slipstream DEX (CL) Base (via Aerodrome) aero_slipstream service lib/defi/aero-slipstream
Cow Protocol MEV-Protected Swaps ETH, Base, Arb CowModule (external) features/transact/services
Krystal Automated LP Vaults ETH, Base, Arb, Opt KrystalModule (external) krystal_api client lib/defi/krystal

CL = Concentrated Liquidity

Earn — Browse pools The Earn page showing available pools with APY, TVL, chain, and underlying assets. Filter by chain and protocol.

Integration Depth

Each protocol integration covers:

Capability Description
Pool discovery Index available pools, their APYs, TVL, and fee tiers
Position tracking Detect when users open/close positions
Valuation Calculate USD value of positions
Transaction encoding Build calldata for deposits, withdrawals, swaps
Permission gating Enforce per-delegate access via PermissionsManager

Additional Services

Service Purpose
Gelato Relay Gasless/sponsored transactions via RelayModule

Cow Protocol

Cow Protocol provides MEV-protected swaps using a PRESIGN signing scheme. It has a dedicated CowModule smart contract deployed externally (not in the NMT contracts repo):

Chain CowModule Address
Ethereum 0x365485a1Bd944fa155aC2CCfDbC3D56232af3Cc0
Base 0x34f0d479edAA0AB36B90C755010dE7d7B9571629
Arbitrum 0x7F1B5929856633Bf59A493f1Ed5FB46a83d2E486

How it works: The CowModule calls GPv2Settlement's setPreSignature() to register orders on-chain. Since Safes can't produce ECDSA signatures the way EOAs can, PRESIGN authorizes the order purely by the Safe executing the call. Cow Protocol solvers then match and settle the order off-chain.

Execution flow: Frontend quotes via Cow SDK → builds executeCoWSignOrder() call → bundles through DelegateBundler → Gelato relays → CowModule registers order on GPv2Settlement → Cow solvers fill.

Safe-only: Cow Protocol is only available in Safe mode (not EOA) because it requires the PRESIGN scheme.

Krystal Vaults

Krystal is an automated liquidity management vault protocol that provides concentrated liquidity on Uniswap V3. Vaults automatically rebalance positions to maximize returns. They follow the ERC-4626 standard.

Chain KrystalModule Address
Ethereum 0x11844b2bde4f0f4745DffF52CCBF5f4D808B49a1
Base 0xde229a4F93031624e0F41193aFfF399e1a2DE3D0
Arbitrum 0x872720ecf3519a10F813e1A476d3b53058cc74fd

Module operations: executeKrystalDeposit(), executeKrystalWithdraw(), executeKrystalApproval()

Data source: Krystal REST API (api.krystal.app) + on-chain verification via KrystalModule

Note: EOA withdrawals from Krystal vaults are not yet implemented — currently Safe-mode only for withdrawals.

results matching ""

    No results matching ""