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.

SuperformOS Strategy Canvas — automated vault strategy lanes and controls The Strategy Canvas is where operators define automated vault behavior. Strategies evaluate rules on ticks and dispatch DeFiX intents to the OMS when conditions pass. The canvas is organized by action lane:
LaneActionsPurpose
InflowDEPOSITDeploy idle assets into yield sources
OutflowWITHDRAWAL, CLAIMSource liquidity and claim proceeds
RebalanceREBALANCE, SWAP, BRIDGEMove capital between sources or routes

Strategy Lifecycle

StateMeaning
CREATEDDrafted but not active
IDLEReady but not ticking
RUNNINGEvaluating rules and eligible to publish intents
ERRORRuntime error; inspect logs/events
ARCHIVEDSoft-deleted
The Strategy Engine API currently models these states directly. Vault-level kill switches and emergency locks can still prevent a strategy from publishing even when the stored state is RUNNING.

Create or Update a Strategy

A strategy contains:
  • Name.
  • Indicators.
  • Rule tree.
  • Action config.
  • Conviction config.
  • Risk parameters.
  • Cooldown and concurrency controls.
Create and update calls do not carry priority. Ordering is handled by the dedicated reorder endpoint. Updates require a version for optimistic concurrency. A stale version returns 409 Conflict.

Rule Trees

Rules are boolean trees:
NodeMeaning
EXPREvaluate one expression
ANDAll children pass
ORAt least one child passes
NOTNegate one child
VOTEN-of-M children pass
Conviction config can require repeated passing ticks before publishing an intent.

Action Config

Action config tells the engine what to do after rules pass. Common fields include:
  • action
  • size_expr
  • objective
  • execution_name
  • execution_address
  • target_address
  • from_address
  • target_type
  • execution_params
  • max_slippage_bps
A target must be whitelisted and authorized by the active merkle root before OMS execution can succeed.

Reorder Strategies

Drag within a lane to change priority. The UI persists order through:
POST /api/v1/strategies/reorder
The request includes vault_id, lane, and the complete ordered list of non-archived strategy IDs for that lane. The backend atomically assigns priorities 1..N from list position.
The ordered list must include every non-archived strategy in the lane exactly once. Priority is server-managed; create and update requests no longer set it.

Emergency Locks

Emergency liquidity exits create target-scoped locks. While a lock exists for a yield source address:
  • User-defined strategies targeting that address cannot publish new intents.
  • Affected toggles and reorder handles are disabled in the UI.
  • Strategies on other targets remain operable.
  • The paired EMERGENCY_EXIT strategy is controlled from Pause Operations, not the normal editor.
The canvas reads emergency_locks from shard / vault state and displays a banner when active.

Intent History

The Intent History view is the operator-facing execution ledger for strategies. It maps Strategy Engine projections to OMS events and fills. Use it to answer:
  • Which strategy created the intent?
  • What lifecycle state is it in?
  • Which OMS events have arrived?
  • Were fills mined?
  • What gas was used?
  • Which transaction hash settled the fill?
Prefer the search endpoint for new tooling:
GET /api/v1/intents
GET /api/v1/intents/{intent_id}/events
GET /api/v1/intents/{intent_id}/fills
GET /api/v1/fills
See Strategy Engine API and OMS API.

Session Key Gate

Strategies need OMS execution readiness. If a vault lacks a valid session key, the canvas blocks automation and points operators to grant or renew the key. See OMS API for the session-key endpoints.

API Reference

EndpointMethodDescription
/api/v1/strategiesGETList strategies with filters
/api/v1/strategiesPOSTCreate strategy
/api/v1/strategies/{id}GETGet strategy
/api/v1/strategies/{id}PUTUpdate strategy with version
/api/v1/strategies/{id}DELETEArchive strategy
/api/v1/strategies/{id}/statePATCHTransition lifecycle state
/api/v1/strategies/reorderPOSTPersist lane order
/api/v1/intentsGETSearch intent history
/api/v1/intents/facetsGETIntent filter facets
/api/v1/intents/{intent_id}/eventsGETOMS event timeline
/api/v1/intents/{intent_id}/fillsGETFills for one intent
/api/v1/fillsGETSearch fills across intents
/api/v1/engine/shards/{vault_id}/stateGETLive shard state and emergency locks