Intent Matching 1.0Intent撮合1.0
0. Program objectives (one sentence)
Without changing EVM, use off-chain MoveVM for intent matching and structure management.
Use Flux as gas and Power as the life limit, and only do one thing:
Under the correct structural dependency D, safely help users transfer assets/tasks to the target.
1. Core components
1.1 Object & ID
- Everything is abstracted into Object: users, agents, projects, fund pools, models, tasks...
1.2 Dependence Figure D (Structural Truth)
- Maintain a graph: D true(X, Y) ∈ [-1, 1] means “the strength of X’s structural dependence on Y”
1.3 Power (maximum life)
- Maximum of 21,000,000 Power per ID per lifetime
- Off-chain MoveVM maintenance PowerAccount: Unlocked / Consumed
- Purpose: Sufficient unlocked Power is required before sending Intent/receiving orders.
- Structural damage/burning Power when doing evil
- H (alignment) is high → unlocking power is more per cycle; H is low → unlocking is reduced or even stopped
Power = "life energy level + trust limit" of this ID in the system.
1.4 Flux (Gas)
- Flux is only used as execution cost (gas) and can only be accounted within MoveVM: Send Intent: deduct a small amount of Flux
- Verification/matching/settlement calculation: consumes Flux
- When PoCW proves real work: Reward Flux
- Garbage Intent / Violation: Burning Flux
1.5 Intent (minimalist structure)
Intent {
user: ID // Who sent it
transfer: (Object, amount) // Things to "transfer" (funds/tasks/permissions...)
target: Object // Who to transfer to / Which object to act on
cond: CondID // Under what conditions execution is allowed (verifiable)
goal: GoalFn // The numerical goal you want to achieve (such as ≥5 USD equivalent to BTC)
d min: float // Minimum structural consistency requirement, for example 0.3
expiry: time // Expiration time
nonce: uint // Anti-replay
}
Mental model:
Intent = Transfer + Cond + Goal + D min
= Under certain conditions, move an object to the target according to structural constraints D min, and achieve a verifiable result.
2. Architecture layering
2.1 EVM layer (Assets & Settlement)
- All real assets on EVM/L2: USDC / ETH / WBTC / NFT…
- Deploy a Settlement contract: Receive the SettlementAction packaged by MoveVM under the chain
- Verify signature/authority
- Call transferFrom / DEX / other protocols
- Keep your funds safe
- Users only do two things in EVM: approve assets to Settlement
- Use wallet to perform EIP-712 offline signature on Intent
2.2 Off-chain MoveVM layer (Intent matching + structural governance)
A set of Move modules in MoveVM maintain status:
- IntentPool: Unfinished Intent
- Dependency Graph: D true graph
- PowerAccount / FluxAccount / HAccount
- Orderbook: Intent order book by (asset, target) market
- PoCW: Record the workload of each Worker
MoveVM is responsible for:
- Signature verification (off-chain)
- Deduct the user’s Power/Flux (the cost of opening an Intent)
- Check D true(transfer.object, target) ≥ d min
- Verify the legality and verifiability of cond and goal
- Place the Intent into the order book corresponding to the (asset→target) market
- Match Need / Offer Intent, determine counterparty, execution path, quantity
- Generate SettlementAction (what should be executed on the EVM)
- Send Flux to Worker according to PoCW, update H and future Power unlocking rate
3. Standard pipeline example
Take example Intent:
“Exchange 3 USDC for at least 5 USD worth of BTC with <1% slippage.”
Step 0: EVM side preparation
- User on EVM: approve(USDC, Settlement, 3e6)
Intent {
User: 0xUser
transfer: (USDC, 3e6)
Target: BTCPoolObject
Condition: Slippage less than 1%
goal: value in USD >= 5e6
d min: 0.3
Expiry Time: T
Random Number: N
}
Step 1: MoveVM reception & verification
- Verification
- Deduct a small amount from PowerAccount[user] (e.g. 10 Power)
- Deduct one Flux (e.g., 1 Flux) from FluxAccount[user]
- Check DependenceGraph: D true(USDC, BTCPoolObject) ≥ 0.3
- Otherwise, reject the Intent and burn part of the Flux.
- Pass → Put the Intent into the (USDC→BTC) market order book
Step 2: MoveVM Matching
- Find an opponent or liquidity offer that satisfies cond + goal
- Calculate the execution path (such as the Swap path of Uniswap on EVM)
- Determine the BTC that can reach value ≥ 5 USD at the current price
- Record which Worker completed the matching (PoCW)
Generate settlement action:
Settlement Action {
Chain: Ethereum,
Source: 0xUser,
Asset: USDC,
Quantity: 3e6,
Call: {
Target: UniswapRouter,
Data: swapExactTokensForTokens(
3e6,
Minimum output = $5 worth of BTC,
path = [USDC, WETH, WBTC]
)
}
}
Step 3: EVM Settlement Execution
- Some matcher will package the SettlementAction into a transaction: Settlement.execute(action)
- In the contract: Check: user’s allowance for USDC is sufficient
- The caller/executor is whitelisted/multi-signature approved/or proven through post-rollup
Step 4: Accounting after MoveVM settlement
- Settlement successful: Mark the Intent as completed
- Send Flux to the completed Worker (based on PoCW + H)
- User's behavior structure is aligned this time → H(user) increases a little → Power is unlocked faster in the next cycle
4. Three lines of "general review" copywriting (can be spoken directly to external parties)
- Intent is minimalist: Intent = Transfer + Cond + Goal + D min, any complex operation becomes "under certain conditions, transfer an object to the target according to structural constraints and achieve verifiable results."
- Flux & Power: Flux is the gas for execution/verification/matching, PoCW generates Flux, and violations will burn Flux; Power is the upper limit of the life energy level of each ID. The higher the H, the faster it is unlocked, and the more misaligned it is, the more locked it is.
- MoveVM × EVM division of labor: Off-chain MoveVM serves as the brain: Intent matching + structural governance; EVM serves as the money bag: asset security settlement; both parties are connected through SettlementAction.
This is a set of converged overall design plan v0,
It can be directly thrown to technology/products for decomposition:
- Move side: What modules are needed
- EVM side: Settlement contract interface
- Front-end: Intent structure & signature process.
0. 方案目标(一句话)
在不改 EVM 的前提下,用链下 MoveVM 做 Intent 撮合和结构治理,
用 Flux 当 gas、Power 当生命上限,只做一件事:
在正确的结构依赖 D 下,安全地帮用户把资产/任务转到目标。
1. 核心组件
1.1 对象 & 身份(Object & ID)
- 所有东西都抽象成 Object: 用户、Agent、项目、资金池、模型、任务…
1.2 Dependence 图 D(结构真相)
- 维护一张图:D true(X, Y) ∈ [-1, 1] 表示 “X 结构上依赖 Y 的强度”
1.3 Power(生命上限)
- 每个 ID 一生最多 21,000,000 Power
- 链下 MoveVM 维护 PowerAccount: 已解锁 / 已消耗
- 用途: 发 Intent / 接单前需要有足够已解锁 Power
- 结构破坏 / 作恶时烧 Power
- H(对齐度)高 → 每周期解锁 Power 多;H 低 → 解锁减少甚至停掉
Power = 这个 ID 在系统里的“生命能级 + 信任额度”。
1.4 Flux(气体)
- Flux 只当 执行成本(gas),可以仅在 MoveVM 内部记账: 发 Intent:扣少量 Flux
- 校验 / 撮合 / 结算计算:消耗 Flux
- PoCW 证明真实工作时:奖励 Flux
- 垃圾 Intent / 违规行为:烧 Flux
1.5 Intent(极简结构)
意图 {
user: ID // 谁发的
transfer: (Object, amount) // 要“转动”的东西(资金 / 任务 / 权限…)
target: Object // 转给谁 / 作用在哪个对象上
cond: CondID // 在什么条件下允许执行(可验证)
goal: GoalFn // 想达到的数值目标(如 ≥5 USD 等价BTC)
d min: float // 最低结构一致性要求,例如 0.3
expiry: time // 过期时间
nonce: uint // 防重放
}
心智模型:
Intent = Transfer + Cond + Goal + D min
= 在某条件下,把某个对象按结构约束 D min,转到目标上,并达到一个可验证的结果。
2. 架构分层
2.1 EVM 层(资产 & 结算)
- 所有真实资产在 EVM/L2: USDC / ETH / WBTC / NFT …
- 部署一个 Settlement 合约: 接收链下 MoveVM 打包的 SettlementAction
- 验证签名/权限
- 调 transferFrom / DEX / 其他协议
- 确保资金安全
- 用户在 EVM 只做两件事: approve 资产给 Settlement
- 用钱包对 Intent 做 EIP-712 离线签名
2.2 链下 MoveVM 层(Intent 撮合 + 结构治理)
MoveVM 里一组 Move 模块维护状态:
- IntentPool:未完成的 Intent
- 依赖图:D true 图
- PowerAccount / FluxAccount / HAccount
- Orderbook:按 (asset, target) 分市场的 Intent 订单簿
- PoCW:记录每个 Worker 的工作量
MoveVM 负责:
- 验签(链外)
- 扣 user 的 Power / Flux(开 Intent 成本)
- 检查 D true(transfer.object, target) ≥ d min
- 校验 cond、goal 的合法性与可验证性
- 将 Intent 放入对应 (asset→target) 市场的订单簿
- 撮合 Need / Offer Intent,确定对手方、执行路径、数量
- 生成 SettlementAction(在 EVM 上应执行什么)
- 根据 PoCW 给 Worker 发 Flux,更新 H 和未来 Power 解锁速率
3. 标准流水线示例
以例子 Intent:
“用 3 USDC 换成至少 5 USD 价值的 BTC,在滑点 <1% 下。”
Step 0:EVM 端准备
- 用户在 EVM 上: approve(USDC, Settlement, 3e6)
意图 {
用户: 0xUser
transfer: (USDC, 3e6)
目标: BTCPoolObject
条件: 条件滑点小于1%
goal: value in USD >= 5e6
d min: 0.3
到期时间: T
随机数: N
}
Step 1:MoveVM 接收 & 校验
- 验签
- 扣 PowerAccount[user] 一小笔(例如 10 Power)
- 从 FluxAccount[user] 扣除一笔 gas(例如 1 Flux)
- 检查 DependenceGraph:D true(USDC, BTCPoolObject) ≥ 0.3
- 否则拒绝 Intent,烧部分 Flux
- 通过 → 把 Intent 放入 (USDC→BTC) 市场订单簿
步骤2:MoveVM撮合
- 找到满足 cond + goal 的对手盘或流动性 Offer
- 计算执行路径(例如 EVM 上 Uniswap 的 Swap 路径)
- 确定在当前价格下可以达到 value ≥ 5 USD 的 BTC
- 记录这次撮合由哪个 Worker 完成(PoCW)
生成结算动作:
结算行动 {
链: Ethereum,
来源: 0xUser,
资产: USDC,
数量: 3e6,
调用: {
目标: UniswapRouter,
数据: swapExactTokensForTokens(
3e6,
最小输出 = 价值为5美元的BTC,
path = [USDC, WETH, WBTC]
)
}
}
步骤3:EVM结算执行
- 某个撮合者将SettlementAction打包成交易:Settlement.execute(action)
- 合约里: 检查: user 对 USDC 的 allowance 足够
- 调用者/执行者是白名单 / 多签认可 / 或通过后期 Rollup 证明
Step 4:MoveVM 结算后记账
- 结算成功: 标记该 Intent 已完成
- 对完成撮合的 Worker 发 Flux(基于 PoCW + H)
- user 这次行为结构对齐 → H(user) 增加一点 → 下个周期 Power 解锁更快
4. 三行“总核”文案(可以直接对外讲)
- Intent 极简: Intent = Transfer + Cond + Goal + D min, 任何复杂操作都变成“在某条件下,把某对象按结构约束转到目标并达到可验证结果”。
- Flux & Power: Flux 是执行/验证/撮合的 gas, PoCW 产生 Flux,违规会烧 Flux; Power 是每个 ID 的生命能级上限,H 越高解锁越快,越不对齐越被锁死。
- MoveVM × EVM 分工: 链下 MoveVM 做大脑:Intent 撮合 + 结构治理; EVM 做钱袋:资产安全结算; 两边通过 SettlementAction 对接。
这个就是一套收敛后的整体设计方案 v0,
已经可以直接丢给技术/产品去分解:
- Move 侧:需要哪些模块
- EVM 侧:Settlement 合约接口
- 前端:Intent 结构 & 签名流程。