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.
| Family | Supported command shapes |
|---|---|
| V2 | V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT |
| V3 | V3_SWAP_EXACT_IN, V3_SWAP_EXACT_OUT |
| V4 | V4_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, andPERMIT2_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.