The OMS (Order Management System) implements the DeFiX v0.1 protocol: a standardized intent interface for DeFi vault operations. It receives intents from the Strategy Engine and executes them on-chain.
Base URL: 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
Submit → Processing → Completed
↘ Failed
↘ Cancelled (only while Processing)
Terminal states (Completed, Failed) cannot be modified.
Endpoints
Submit Intent
{
"vault_id": "8453:0xdef...",
"action": "DEPOSIT",
"action_config": {
"size_expr": "1000000000",
"execution_name": "MorphoDepositHook",
"execution_address": "0xHookContract...",
"target_address": "0xMorphoVault...",
"from_address": "0xVaultContract...",
"max_slippage_bps": 50,
"execution_params": {}
},
"auth_signing": {
"proof": "0xmerkleproof...",
"root": "0xmerkleroot..."
}
}
Response:
{
"id": "intent-uuid",
"status": "Processing",
"created_at": "2025-03-01T10:00:00Z"
}
Get Intent
GET /defix/intents/{intent_id}
{
"id": "intent-uuid",
"vault_id": "8453:0xdef...",
"action": "DEPOSIT",
"status": "Completed",
"created_at": "2025-03-01T10:00:00Z",
"completed_at": "2025-03-01T10:01:32Z",
"tx_hash": "0xabc...",
"gas_used": 180000,
"error": null
}
Cancel Intent
POST /defix/intents/{intent_id}/cancel
Only Processing intents can be cancelled. Returns 409 Conflict if the intent is already terminal.
Get Intent Events
GET /defix/intents/{intent_id}/events
State transition log:
{
"events": [
{ "timestamp": "2025-03-01T10:00:00Z", "event_type": "submitted", "details": {} },
{ "timestamp": "2025-03-01T10:01:00Z", "event_type": "processing", "details": { "attempt": 1 } },
{ "timestamp": "2025-03-01T10:01:32Z", "event_type": "completed", "details": { "tx_hash": "0xabc...", "gas_used": 180000 } }
]
}
Intent Status Values
| Status | Description |
|---|
Processing | Queued or being executed |
Completed | Successfully executed on-chain |
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_signing before broadcasting
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 |