https://oms.superform.xyz
Auth: Authorization: Bearer <jwt>
OpenAPI spec: oms-openapi.json ✅
The OMS is primarily backend-facing. In normal operations, the Strategy Engine submits intents automatically when strategies trigger. Direct OMS access is relevant for custom strategy implementations or advanced automation.
Intent Lifecycle
Completed, Failed) cannot be modified.
Endpoints
Submit Intent
Get Intent
Cancel Intent
Processing intents can be cancelled. Returns 409 Conflict if the intent is already terminal.
Get Intent Events
Intent Status Values
| Status | Description |
|---|---|
Processing | Queued or being executed |
Completed | Successfully executed onchain |
Failed | Execution failed (see error in intent detail) |
Cancelled | Cancelled before execution |
DeFiX v0.1 Protocol Notes
- Intents are idempotent: submitting the same intent twice returns the existing intent (based on vault + action + config hash)
- The OMS handles nonce management, gas estimation, and transaction broadcasting
- Failed intents include error messages and may be retried by the Strategy Engine
- The OMS validates the merkle proof in
auth_signingbefore broadcasting
Session Keys
Strategy automation requires a session key — a delegated signing key that authorises the OMS to execute intents on behalf of a vault. The Strategy Canvas shows anomsCanvasGate overlay when the session key is not ready, blocking automation until the key is granted or renewed.
vault_id format: {chainId}:{normalizedVaultAddress} (same convention as the Strategy Engine).
Check Readiness
Grant Session Key
?requested_expiry=168h to set a custom duration (defaults to server default).
Response: { "to": "0x...", "data": "0x...", "value": "0" } — sign and submit with your wallet.
Rotate (Renew) Session Key
Complete Rotation
Cancel Rotation
Revoke Session Key
Grant, rotation, and revoke endpoints return raw EVM calldata — the same prepare pattern used elsewhere in the API. Your wallet signs and submits; no Erebor or OMS endpoint is called for the actual onchain action.
Summary
| Endpoint | Method | Description |
|---|---|---|
/defix/intents | POST | Submit DeFiX intent |
/defix/intents/{id} | GET | Get intent state |
/defix/intents/{id}/cancel | POST | Cancel pending intent |
/defix/intents/{id}/events | GET | Intent event log |
/defix/vaults/{vault_id}/session-key/readiness | GET | Session key readiness check |
/defix/vaults/{vault_id}/session-key/grant | GET | Get grant calldata |
/defix/vaults/{vault_id}/session-key/rotation | GET | Get rotation calldata |
/defix/vaults/{vault_id}/session-key/rotation/complete | POST | Complete pending rotation |
/defix/vaults/{vault_id}/session-key/rotation/cancel | POST | Cancel pending rotation |
/defix/vaults/{vault_id}/session-key/revoke | GET | Get revoke calldata |