Protocol Architecture & Risk Disclosure

Know Your Assumptions (KYA)

Essential operational assumptions, curve dynamics, keeper incentives, and security principles governing the Windmill Exchange matching engine.

1Non-Custodial Matchmaking & Token Escrow

Windmill Exchange is a non-custodial smart contract system deployed on EVM-compatible blockchains. When you place a limit or dynamic pricing order, your input tokens are deposited into the protocol's escrow contract (or approved via ERC-20 allowances).

  • You retain full ownership of your orders and can cancel unfilled orders at any time.
  • No central server or operator holds private keys or can expropriate user funds.
  • Tokens are transferred only upon explicit order matching by authorized transaction relayers (keepers) or order makers.

2Dynamic Pricing Curves & Linear Price Decay

Unlike traditional static orderbooks, Windmill supports dynamic price curves defined by:

Price Calculation Formula:Price(t) = StartPrice + Slope × (t - CreatedAt)
Price Boundaries:MinPrice ≤ Price(t) ≤ MaxPrice

Assumption: Users assume full responsibility for choosing parameters (startPrice, slope, minPrice, maxPrice, expiry). Price moves strictly based on elapsed block timestamps. Rapid price changes may lead to unexpected execution prices if matched during high volatility.

3Autonomous Keeper Matching & Relayer Latency

Order matching is executed by off-chain keeper bots monitoring pair event streams.

  • Keepers continuously search for overlapping buy and sell curves where BuyPrice(t) ≥ SellPrice(t).
  • Keeper latency depends on network congestion, RPC node response time, and gas price fluctuations.
  • The protocol guarantees zero price slippage beyond order bounds, but cannot guarantee instant match execution if no keeper submits transactions.

4Smart Contract Security & Immutable Execution

Smart contracts governing Windmill Exchange are written in Solidity 0.8.23 and compiled targeting EVM standard specifications.

While contracts undergo formal testing and static analysis (Slither, Foundry fuzzing), all blockchain interactions carry inherent technical risks including RPC node failures, re-orgs, and network forks.