Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.superform.xyz/llms.txt

Use this file to discover all available pages before exploring further.

The OMS implements the DeFiX intent execution path. The Strategy Engine publishes intents; OMS validates authorization, builds execution, submits hook transactions, and emits lifecycle events / fills back to operators. Base URL: https://oms.superform.xyz Auth: Authorization: Bearer <jwt> In normal dashboard operations, managers do not submit intents directly. They configure strategies and monitor the resulting intent history.

Intent Lifecycle

OMS intent state is explicit and event-driven:
RECEIVED → ACKED → STAGED → PLANNED → EXECUTING → COMPLETED
                                      ↘ ABORTED
                                      ↘ EXPIRED
                                      ↘ FAILED
                                      ↘ CANCELED
State values:
StateMeaning
RECEIVEDOMS received the intent
ACKEDIntent accepted for processing
STAGEDIntent staged for planning/execution
PLANNEDRoute or execution plan built
EXECUTINGTransaction execution in progress
COMPLETEDExecution completed
ABORTEDOMS aborted before success
EXPIREDIntent expired before execution
FAILEDExecution failed
CANCELEDIntent cancelled before terminal execution
Terminal states cannot be modified.

Submit Intent

POST /defix/intents
Typical requests include:
  • vault_id
  • strategy_id
  • action
  • objective
  • action_config
  • auth
  • merkle proof / root data
  • account mode (OMS, EIP4337, EIP4337_COMPANION, or EIP7702)
OMS validates the intent and authorization before execution.

Get Intent

GET /defix/intents/{intent_id}
Returns the current OMS state, latest sequence number, timestamps, and completion timestamp when available. Fields such as completed_at may be null before terminal execution.

Cancel Intent

POST /defix/intents/{intent_id}/cancel
Cancellation is only valid before the intent reaches a terminal state.

Intent Events

GET /defix/intents/{intent_id}/events
Events are the source of truth for lifecycle reconstruction. Each event has:
  • event_id
  • intent_id
  • execution_id
  • message_type
  • seq_num
  • event-specific payload
  • created_at
The Strategy Engine consumes these events and projects them into operator-friendly intent history.

Fills and Mined Transactions

Fills represent confirmed onchain execution evidence. In the operator UI, fills may include:
  • tx_hash
  • chain_id
  • amount_in
  • amount_out
  • token_in
  • token_out
  • venue
  • gas_used
  • mined / fill timestamp
Pre-receipt rows can have null gas or missing fill fields until the transaction is mined and backfilled.

Hook Transactions and Account Modes

OMS supports native hook transaction execution and smart-account/user-operation modes. Account mode controls how execution is signed and submitted:
ModeMeaning
OMSOMS-managed delegated signer path
EIP4337ERC-4337 user operation path
EIP4337_COMPANIONCompanion 4337 path
EIP7702EIP-7702 account path
The hook transaction adapter handles execution against SuperVault hooks once session-key and merkle authorization are valid.

Session Keys

Strategy automation requires a valid session key for the vault.

Readiness

GET /defix/vaults/{vault_id}/session-key/readiness
Returns whether the vault has a valid session key and whether a rotation is pending.

Grant

GET /defix/vaults/{vault_id}/session-key/grant
Returns calldata to grant a session key. The manager signs and submits the transaction.

Rotate / Renew

GET /defix/vaults/{vault_id}/session-key/rotation
POST /defix/vaults/{vault_id}/session-key/rotation/complete
POST /defix/vaults/{vault_id}/session-key/rotation/cancel
Complete rotation after the grant/revoke transactions have mined.

Revoke

GET /defix/vaults/{vault_id}/session-key/revoke
Returns calldata to revoke the current session key.
Session-key endpoints return transaction data for wallet signing. They do not bypass onchain permission checks.

Endpoint Inventory

EndpointMethodDescription
/defix/intentsPOSTSubmit intent
/defix/intents/{intent_id}GETCurrent intent state
/defix/intents/{intent_id}/cancelPOSTCancel non-terminal intent
/defix/intents/{intent_id}/eventsGETIntent event log
/defix/vaults/{vault_id}/session-key/readinessGETSession-key readiness
/defix/vaults/{vault_id}/session-key/grantGETPrepare grant calldata
/defix/vaults/{vault_id}/session-key/rotationGETPrepare rotation calldata
/defix/vaults/{vault_id}/session-key/rotation/completePOSTComplete rotation
/defix/vaults/{vault_id}/session-key/rotation/cancelPOSTCancel pending rotation
/defix/vaults/{vault_id}/session-key/revokeGETPrepare revoke calldata