Skip to content
LogoLogo

Supported actions

Developer Preview

Nava Guardian evaluates the decoded action, not a router name or human prompt. An unrecognized target, command, path, asset, or recipient fails closed. Use this page to confirm that the exact calldata shape is inside the current Developer Preview boundary before submitting it.

Uniswap Universal Router

One Universal Router execute call can contain one or multiple swap legs. Guardian supports decoded V2, V3, and V4 swaps and returns one verdict for the whole router call.

FamilySupported command shapes
V2V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT
V3V3_SWAP_EXACT_IN, V3_SWAP_EXACT_OUT
V4V4_SWAP with a single supported swap inside its unlock, including exact-input and exact-output paths

For exact-output swaps, Guardian follows the router's reversed path encoding and resolves assets in execution path direction. Do not reverse the path before submission.

Every decoded leg receives the applicable asset, side, recipient, slippage, contract, and sanctions checks. Leg-specific entries in checks[] carry a zero-based legIndex, while evidence.decodedActions exposes the decoded leg list. If any leg fails, Guardian rejects the entire action; passing legs do not authorize partial execution.

The per-transaction notional is summed across every swap leg before comparison with perTxCapUsd. The same proposed action is included in rolling 24-hour outflow accounting. Splitting one router call into decoded legs does not give each leg its own cap.

Supported sidecars

The router can include a supported wrap, unwrap, or Permit2 permit alongside a swap. Guardian checks wrap and unwrap recipients and Permit2 spenders rather than treating them as invisible plumbing. Native msg.value must also be consistent with the decoded action.

Direct Permit2 submissions are supported when the target environment's deployment manifest contains the correct Permit2 address. Confirm that manifest in the environment status before depending on this path.

Shapes that fail closed

These command families are intentionally outside the supported decoder boundary:

  • SWEEP, TRANSFER, PERMIT2_TRANSFER_FROM, and PERMIT2_TRANSFER_FROM_BATCH;
  • PAY_PORTION;
  • a V4 unlock containing multiple swaps;
  • a multi-token Permit2 permit;
  • any mixed router program whose value flow, recipient, spender, asset identity, or path cannot be resolved completely.

Unsupported calldata is rejected with a cross-cutting decode or asset-identity reason. Do not remove sidecars, split value flows, or rewrite the action merely to evade the decoder boundary; build a supported action or stop.

Environment status

The common V2/V3/V4 Universal Router path is available in the published Developer Preview. Direct Permit2 evaluation and reduce-only Hyperliquid behavior depend on the target environment's deployed decoder and manifest. Check the documentation changelog and the environment matrix before enabling either path in production code.