{"openapi":"3.1.0","info":{"title":"Signalite sHLP Partner API","version":"1.0.0","description":"Read-only partner API for Signalite sHLP product state, history, positions, activity, and redemption lifecycle data."},"servers":[{"url":"https://shlp-web-production.up.railway.app"}],"tags":[{"name":"Product"},{"name":"Account"},{"name":"Operations"}],"paths":{"/api/v1/config":{"get":{"operationId":"getConfig","tags":["Product"],"summary":"Fetch chain, contract, token, route, and destination config.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Config"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/vault":{"get":{"operationId":"getVault","tags":["Product"],"summary":"Fetch live vault state and partner capability flags.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Vault"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/history":{"get":{"operationId":"getHistory","tags":["Product"],"summary":"Fetch indexed sHLP historical snapshot series.","parameters":[{"name":"range","in":"query","schema":{"type":"string","enum":["1d","7d","30d","90d","180d","all"],"default":"30d"},"example":"all"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/History"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/hlp":{"get":{"operationId":"getHlp","tags":["Product"],"summary":"Fetch underlying Hyperliquid HLP TVL and PnL series.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Hlp"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/position":{"get":{"operationId":"getPosition","tags":["Account"],"summary":"Fetch wallet balances, allowance, limits, and redeem lifecycle rows.","parameters":[{"name":"wallet","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"example":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Position"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/activity":{"get":{"operationId":"getActivity","tags":["Account"],"summary":"Fetch indexed vault events for a wallet.","parameters":[{"name":"wallet","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"example":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"example":100}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Activity"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/redeems":{"get":{"operationId":"getRedeems","tags":["Account"],"summary":"Fetch grouped async redemption lifecycle rows for a wallet.","parameters":[{"name":"wallet","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"example":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Redeems"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/deposit/quote":{"post":{"operationId":"quoteDeposit","tags":["Operations"],"summary":"Build a deposit quote with approval requirements and vault calldata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositQuoteRequest"},"examples":{"default":{"value":{"amountRaw":"1000000","account":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1","receiver":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1","slippageBps":50}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/redeem-instant/quote":{"post":{"operationId":"quoteRedeemInstant","tags":["Operations"],"summary":"Build an instant redeem quote and vault calldata. Instant redeem is not slippage-protected; use async redeem when a min-assets-out floor is required.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantRedeemQuoteRequest"},"examples":{"default":{"value":{"sharesRaw":"1000000000000000000","account":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1","receiver":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/redeem-async/quote":{"post":{"operationId":"quoteRedeemAsync","tags":["Operations"],"summary":"Build an async redeem quote and requestRedeem calldata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncRedeemQuoteRequest"},"examples":{"default":{"value":{"sharesRaw":"1000000000000000000","account":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1","slippageBps":50}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/claim/build":{"post":{"operationId":"buildClaimRedeem","tags":["Operations"],"summary":"Build claimRedeem calldata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRedeemRequest"},"examples":{"default":{"value":{"id":"1","account":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1","receiver":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"403":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"404":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/cancel/build":{"post":{"operationId":"buildCancelRedeem","tags":["Operations"],"summary":"Build cancelRedeem calldata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelRedeemRequest"},"examples":{"default":{"value":{"id":"1","account":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"403":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"404":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/fulfill/build":{"post":{"operationId":"buildFulfillRedeem","tags":["Operations"],"summary":"Build permissionless fulfillRedeem calldata.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedeemIdRequest"},"examples":{"default":{"value":{"id":"1"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionQuote"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"403":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"404":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/actions/status":{"get":{"operationId":"getActionStatus","tags":["Operations"],"summary":"Fetch normalized action lifecycle status from indexed vault events, redeem state, and keeper readiness.","parameters":[{"name":"wallet","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"example":"0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1"},{"name":"txHash","in":"query","required":false,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"example":"0x0000000000000000000000000000000000000000000000000000000000000000"},{"name":"redeemId","in":"query","required":false,"schema":{"type":"string","pattern":"^(0|[1-9]\\d*)$"},"example":"2"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/ActionStatus"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}},"/api/v1/health":{"get":{"operationId":"getHealth","tags":["Operations"],"summary":"Fetch API, database, vault-read, strategy wiring, snapshot, and event-indexer health.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","data","meta"],"properties":{"success":{"type":"boolean","const":true},"data":{"$ref":"#/components/schemas/Health"},"meta":{"type":"object","required":["updatedAt"],"properties":{"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true}}}}}},"400":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"409":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}},"503":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}}}}}}}}}}},"components":{"schemas":{"Amount":{"type":"object","required":["raw","decimals","formatted"],"properties":{"raw":{"type":"string","description":"Integer base units. Use for accounting.","example":"1000000"},"decimals":{"type":"integer","example":6},"formatted":{"type":"string","description":"Display helper only.","example":"1.000000"}}},"ApiErrorCode":{"type":"string","enum":["ACTION_BUILD_FAILED","ACTION_QUOTE_FAILED","BAD_ACTION_REQUEST","BAD_REQUEST","BAD_WALLET","BUFFER_SHORT","CAP_EXCEEDED","DEPOSITS_NOT_READY","DEPOSITS_PAUSED","HLP_UPSTREAM_FAILED","INDEXER_UNAVAILABLE","INSUFFICIENT_SHARES","INSTANT_REDEEM_NO_SLIPPAGE","OPERATIONS_NOT_READY","MIN_DEPOSIT_NOT_MET","POSITION_READ_FAILED","REDEEM_NOT_CANCELABLE","REDEEM_NOT_CLAIMABLE","REDEEM_NOT_FOUND","REDEEM_NOT_FULFILLABLE","REDEEM_NOT_OWNER","SLIPPAGE_EXCEEDED","VAULT_READ_FAILED"]},"Config":{"type":"object","required":["apiVersion","product","chain","contracts","tokens","deposit","withdraw"],"properties":{"apiVersion":{"type":"string","example":"v1"},"product":{"type":"object","required":["slug","name","description"],"properties":{"slug":{"type":"string","example":"shlp"},"name":{"type":"string","example":"Signalite sHLP"},"description":{"type":"string"}}},"chain":{"type":"object","required":["id","name","rpcUrl","explorerUrl"],"properties":{"id":{"type":"integer","example":999},"name":{"type":"string","example":"Hyperliquid"},"rpcUrl":{"type":"string","format":"uri","example":"https://rpc.hyperliquid.xyz/evm"},"explorerUrl":{"type":"string","format":"uri","example":"https://hypurrscan.io"}}},"contracts":{"type":"object","required":["vault","usdc","hlpVault"],"properties":{"vault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x44bb3Beb0C5Fc6cb8fDe29B9D617ff9b2685062a"},"usdc":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},"strategyKeeper":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x72eA0422845B176186EaEE03Fb96709a330d2526"},"navSource":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x063c5B699f4449A40FcdB15A3638fd70fbc1beA4"},"hlpVault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0xdfc24b077bc1425AD1DEA75bCB6f8158E10Df303"}}},"tokens":{"type":"object","required":["asset","share"],"properties":{"asset":{"$ref":"#/components/schemas/Token"},"share":{"$ref":"#/components/schemas/Token"}}},"deposit":{"type":"object","required":["nativeChainId","supportedRoutes","minimumDeposit","recommendedOperationalMinimum"],"properties":{"nativeChainId":{"type":"integer","example":999},"supportedRoutes":{"type":"array","description":"Supported deposit UX routes. /api/v1/actions/deposit/quote currently builds only native HyperEVM vault calldata; Relay cross-chain routes are handled by the frontend/Relay integration.","items":{"$ref":"#/components/schemas/DepositRoute"}},"minimumDeposit":{"$ref":"#/components/schemas/Amount"},"recommendedOperationalMinimum":{"$ref":"#/components/schemas/Amount"}}},"withdraw":{"type":"object","required":["nativeSettlementChainId","supportedDestinations"],"properties":{"nativeSettlementChainId":{"type":"integer","example":999},"supportedDestinations":{"type":"array","description":"The vault claim transaction settles USDC on HyperEVM. Other destinations are post-claim bridge destinations for partner UI routing.","items":{"$ref":"#/components/schemas/WithdrawDestination"}}}}}},"Token":{"type":"object","required":["symbol","decimals","address"],"properties":{"symbol":{"type":"string"},"decimals":{"type":"integer"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"DepositRoute":{"type":"object","required":["kind","chainId","chainName","enabled","sdkSupported","actionEndpoint","status","requiresReadiness","readinessEndpoint","readinessFlag"],"properties":{"kind":{"type":"string","enum":["native-usdc","relay-cross-chain"]},"chainId":{"oneOf":[{"type":"integer"},{"type":"string","const":"multi"}]},"chainName":{"type":"string"},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"enabled":{"type":"boolean"},"sdkSupported":{"type":"boolean","description":"True when @arc/shlp-sdk can build this route through a first-party action endpoint."},"actionEndpoint":{"type":["string","null"],"description":"First-party action endpoint for SDK transaction building, if available."},"status":{"type":"string","enum":["available","ux-only","disabled"],"description":"Route support status, not live deposit readiness. Check readinessEndpoint/readinessFlag before enabling user actions."},"requiresReadiness":{"type":"boolean","description":"True when the route must be gated by /api/v1/health before use."},"readinessEndpoint":{"type":"string","description":"Endpoint that exposes the readiness flag for this route."},"readinessFlag":{"type":"string","enum":["deposits"],"description":"Health ready flag required before showing this route as actionable."}}},"WithdrawDestination":{"type":"object","required":["chainId","chainName","usdcAddress","chainIcon","enabled"],"properties":{"chainId":{"type":"integer"},"chainName":{"type":"string"},"usdcAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"chainIcon":{"type":"string"},"enabled":{"type":"boolean"}}},"Vault":{"type":"object","required":["product","addresses","asset","share","analytics","caps","fees","liquidity","proof","capabilities","status"],"properties":{"product":{"type":"object","required":["slug","name","protocol","chainId"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"protocol":{"type":"string"},"chainId":{"type":"integer"}}},"addresses":{"type":"object","required":["vault","asset","strategy","navSource","treasury"],"properties":{"vault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"strategy":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"navSource":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"treasury":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"asset":{"$ref":"#/components/schemas/Token"},"share":{"$ref":"#/components/schemas/Token"},"analytics":{"type":"object","required":["sharePrice","tvl","totalSupply"],"properties":{"sharePrice":{"$ref":"#/components/schemas/Amount"},"tvl":{"$ref":"#/components/schemas/Amount"},"totalSupply":{"$ref":"#/components/schemas/Amount"}}},"caps":{"type":"object","required":["maxTvl","maxUserDeposit","globalDepositRoom"],"properties":{"maxTvl":{"$ref":"#/components/schemas/Amount"},"maxUserDeposit":{"$ref":"#/components/schemas/Amount"},"globalDepositRoom":{"$ref":"#/components/schemas/Amount"}}},"fees":{"type":"object","required":["performanceFeeBps","managementFeeBps"],"properties":{"performanceFeeBps":{"type":"integer"},"managementFeeBps":{"type":"integer"}}},"liquidity":{"type":"object","required":["vaultUsdc","reservedAssets","instantRedeemCapacity","escrowedShares"],"properties":{"vaultUsdc":{"$ref":"#/components/schemas/Amount"},"reservedAssets":{"$ref":"#/components/schemas/Amount"},"instantRedeemCapacity":{"$ref":"#/components/schemas/Amount"},"escrowedShares":{"$ref":"#/components/schemas/Amount"}}},"proof":{"type":"object","required":["buckets","reconciliation"],"description":"Bucket-level proof of backing for the vault TVL and share price.","properties":{"buckets":{"type":"object","required":["vaultUsdc","strategyEvmUsdc","strategyCoreSpotUsdc","strategyCorePerpUsdc","strategyHlpEquity","pendingBridgeIn","pendingBridgeOut","reservedAssets","escrowedShares"],"properties":{"vaultUsdc":{"$ref":"#/components/schemas/Amount"},"strategyEvmUsdc":{"$ref":"#/components/schemas/Amount"},"strategyCoreSpotUsdc":{"$ref":"#/components/schemas/Amount"},"strategyCorePerpUsdc":{"$ref":"#/components/schemas/Amount"},"strategyHlpEquity":{"$ref":"#/components/schemas/Amount"},"pendingBridgeIn":{"$ref":"#/components/schemas/Amount"},"pendingBridgeOut":{"$ref":"#/components/schemas/Amount"},"reservedAssets":{"$ref":"#/components/schemas/Amount"},"escrowedShares":{"$ref":"#/components/schemas/Amount"}}},"reconciliation":{"type":"object","required":["grossManagedAssets","reservedLiabilities","netShareholderAssets","reportedTotalAssets","diff"],"properties":{"grossManagedAssets":{"$ref":"#/components/schemas/Amount"},"reservedLiabilities":{"$ref":"#/components/schemas/Amount"},"netShareholderAssets":{"$ref":"#/components/schemas/Amount"},"reportedTotalAssets":{"$ref":"#/components/schemas/Amount"},"diff":{"$ref":"#/components/schemas/Amount"}}}}},"capabilities":{"type":"object","required":["deposit","instantRedeem","asyncRedeem","fulfillRedeem","claimRedeem","cancelRedeem"],"properties":{"deposit":{"type":"boolean"},"instantRedeem":{"type":"boolean"},"asyncRedeem":{"type":"boolean"},"fulfillRedeem":{"type":"boolean"},"claimRedeem":{"type":"boolean"},"cancelRedeem":{"type":"boolean"}}},"status":{"type":"object","properties":{"depositsPaused":{"type":"boolean"},"ready":{"$ref":"#/components/schemas/HealthReady"}},"required":["depositsPaused"]}}},"History":{"type":"object","required":["range","available","series"],"properties":{"range":{"type":"string"},"available":{"type":"boolean"},"series":{"type":"array","items":{"type":"object","required":["timestamp","t","sharePrice","totalAssets","totalSupply"],"properties":{"timestamp":{"type":"string","format":"date-time"},"t":{"type":"number"},"sharePrice":{"type":"number"},"totalAssets":{"type":"number"},"totalSupply":{"type":"number"},"hlpApy":{"type":["number","null"]}}}}}},"Hlp":{"type":"object","required":["vault","pnl","tvl"],"properties":{"vault":{"type":"object","required":["name","tvlUsd","apr","aprPct","ratePct","rateKind","apyPct"],"properties":{"name":{"type":"string"},"tvlUsd":{"type":"number"},"apr":{"type":"number","description":"Annualized return as a decimal from Hyperliquid upstream."},"aprPct":{"type":"number","description":"Annualized return percentage from Hyperliquid upstream."},"ratePct":{"type":"number","description":"Display percentage for the rate named by rateKind."},"rateKind":{"type":"string","enum":["apr"],"description":"The rate is APR, not compounded APY."},"apyPct":{"type":"number","description":"Deprecated legacy alias for aprPct; do not label as compounded APY."}}},"pnl":{"type":"object","required":["latestUsd","series"],"properties":{"latestUsd":{"type":["number","null"]},"series":{"type":"array","items":{"$ref":"#/components/schemas/TimeValuePoint"}}}},"tvl":{"type":"object","required":["series"],"properties":{"series":{"type":"array","items":{"$ref":"#/components/schemas/TimeValuePoint"}}}}}},"TimeValuePoint":{"type":"object","required":["t","timestamp","value"],"properties":{"t":{"type":"number"},"timestamp":{"type":"string","format":"date-time"},"value":{"type":"number"}}},"Redeem":{"type":"object","required":["id","status","wallet","owner","receiver","requestedTxHash","fulfilledTxHash","claimedTxHash","cancelledTxHash","requestedAt","updatedAt","shares","assets"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","claimable","claimed","cancelled"]},"wallet":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"owner":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"requestedTxHash":{"type":["string","null"]},"fulfilledTxHash":{"type":["string","null"]},"claimedTxHash":{"type":["string","null"]},"cancelledTxHash":{"type":["string","null"]},"requestedAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"},"shares":{"anyOf":[{"$ref":"#/components/schemas/Amount"},{"type":"null"}]},"assets":{"anyOf":[{"$ref":"#/components/schemas/Amount"},{"type":"null"}]}}},"Position":{"type":"object","required":["wallet","balances","allowance","limits","redeemsAvailable","redeems"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"balances":{"type":"object","required":["usdc","shares","shareValue"],"properties":{"usdc":{"$ref":"#/components/schemas/Amount"},"shares":{"$ref":"#/components/schemas/Amount"},"shareValue":{"$ref":"#/components/schemas/Amount"}}},"allowance":{"type":"object","required":["vaultUsdc"],"properties":{"vaultUsdc":{"$ref":"#/components/schemas/Amount"}}},"limits":{"type":"object","required":["maxDeposit","maxRedeem","maxWithdraw"],"properties":{"maxDeposit":{"$ref":"#/components/schemas/Amount"},"maxRedeem":{"$ref":"#/components/schemas/Amount"},"maxWithdraw":{"$ref":"#/components/schemas/Amount"}}},"redeemsAvailable":{"type":"boolean"},"redeems":{"type":"array","items":{"$ref":"#/components/schemas/Redeem"}}}},"ActivityEvent":{"type":"object","required":["type","eventName","txHash","blockNumber","logIndex","timestamp","wallet","owner","receiver","assets","shares","redeemId"],"properties":{"type":{"type":"string","enum":["deposit","instant_withdraw","redeem_requested","redeem_fulfilled","redeem_claimed","redeem_cancelled","fees_accrued"]},"eventName":{"type":"string"},"txHash":{"type":"string"},"blockNumber":{"type":"string"},"logIndex":{"type":"integer"},"timestamp":{"type":["string","null"],"format":"date-time"},"wallet":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"owner":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":["string","null"],"pattern":"^0x[a-fA-F0-9]{40}$"},"assets":{"anyOf":[{"$ref":"#/components/schemas/Amount"},{"type":"null"}]},"shares":{"anyOf":[{"$ref":"#/components/schemas/Amount"},{"type":"null"}]},"redeemId":{"type":["string","null"]}}},"Activity":{"type":"object","required":["wallet","available","events"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"available":{"type":"boolean"},"events":{"type":"array","items":{"$ref":"#/components/schemas/ActivityEvent"}}}},"Redeems":{"type":"object","required":["wallet","available","redeems"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"available":{"type":"boolean"},"redeems":{"type":"array","items":{"$ref":"#/components/schemas/Redeem"}}}},"ActionStep":{"type":"object","required":["id","kind","status"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["erc20_approval","vault_deposit","vault_redeem_instant","vault_redeem_request","hlp_unlock_wait","keeper_unwind","vault_claim","vault_cancel","indexer_confirmation"]},"status":{"type":"string","enum":["confirmed","waiting","blocked","succeeded"]},"txHash":{"type":["string","null"]},"message":{"type":"string"}}},"ActionStatus":{"type":"object","required":["id","action","status","wallet","txHash","redeemId","available","timestamps","redeem","steps"],"properties":{"id":{"type":"string"},"action":{"type":"string","enum":["deposit","redeem_instant","redeem_async","claim_redeem","cancel_redeem","unknown"]},"status":{"type":"string","enum":["indexing","succeeded","waiting_for_hlp_unlock","waiting_for_keeper","operations_blocked","claimable","claimed","cancelled","failed"]},"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"txHash":{"type":["string","null"]},"redeemId":{"type":["string","null"]},"available":{"type":"boolean"},"timestamps":{"type":"object","required":["submittedAt","updatedAt"],"properties":{"submittedAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"redeem":{"anyOf":[{"$ref":"#/components/schemas/Redeem"},{"type":"null"}]},"steps":{"type":"array","items":{"$ref":"#/components/schemas/ActionStep"}}}},"TxRequest":{"type":"object","required":["to","data","value","chainId"],"properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"data":{"type":"string","pattern":"^0x[a-fA-F0-9]*$"},"value":{"type":"string","example":"0"},"chainId":{"type":"integer","example":999}}},"DepositQuoteRequest":{"type":"object","required":["amountRaw","account"],"properties":{"amountRaw":{"type":"string","example":"1000000","description":"USDC base units. Must be at least 1000000 for native HyperEVM deposits."},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"slippageBps":{"type":"integer","minimum":0,"maximum":2000}}},"InstantRedeemQuoteRequest":{"type":"object","required":["sharesRaw","account"],"properties":{"sharesRaw":{"type":"string","example":"1000000000000000000"},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"AsyncRedeemQuoteRequest":{"type":"object","required":["sharesRaw","account"],"properties":{"sharesRaw":{"type":"string","example":"1000000000000000000"},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"slippageBps":{"type":"integer","minimum":0,"maximum":2000}}},"RedeemIdRequest":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"1"}}},"ClaimRedeemRequest":{"type":"object","required":["id","account","receiver"],"properties":{"id":{"type":"string","example":"1"},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"CancelRedeemRequest":{"type":"object","required":["id","account"],"properties":{"id":{"type":"string","example":"1"},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"TxRequirement":{"type":"object","required":["type","token","spender","amount","tx"],"properties":{"type":{"type":"string","enum":["approval"]},"token":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"amount":{"$ref":"#/components/schemas/Amount"},"tx":{"$ref":"#/components/schemas/TxRequest"}}},"DepositQuoteExpected":{"type":"object","required":["assets","shares","minShares"],"properties":{"assets":{"$ref":"#/components/schemas/Amount"},"shares":{"$ref":"#/components/schemas/Amount"},"minShares":{"$ref":"#/components/schemas/Amount"}}},"RedeemQuoteExpected":{"type":"object","required":["shares","assets"],"properties":{"shares":{"$ref":"#/components/schemas/Amount"},"assets":{"$ref":"#/components/schemas/Amount"},"minAssetsOut":{"$ref":"#/components/schemas/Amount"}}},"ClaimRedeemExpected":{"type":"object","required":["assets"],"properties":{"assets":{"$ref":"#/components/schemas/Amount"}}},"CancelRedeemExpected":{"type":"object","required":["shares"],"properties":{"shares":{"$ref":"#/components/schemas/Amount"}}},"FulfillRedeemExpected":{"type":"object","required":["shares","assets","minAssetsOut"],"properties":{"shares":{"$ref":"#/components/schemas/Amount"},"assets":{"$ref":"#/components/schemas/Amount"},"minAssetsOut":{"$ref":"#/components/schemas/Amount"}}},"ActionQuote":{"type":"object","required":["action","tx"],"properties":{"action":{"type":"string"},"account":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"receiver":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"quoteBlock":{"type":"string","description":"Block number used for live quote reads."},"requirements":{"type":"array","items":{"$ref":"#/components/schemas/TxRequirement"}},"expected":{"oneOf":[{"$ref":"#/components/schemas/DepositQuoteExpected"},{"$ref":"#/components/schemas/RedeemQuoteExpected"},{"$ref":"#/components/schemas/ClaimRedeemExpected"},{"$ref":"#/components/schemas/CancelRedeemExpected"},{"$ref":"#/components/schemas/FulfillRedeemExpected"}]},"slippageBps":{"type":"integer"},"tx":{"$ref":"#/components/schemas/TxRequest"},"expiresAt":{"type":"string","format":"date-time"}}},"SnapshotHealth":{"type":"object","required":["available"],"properties":{"available":{"type":"boolean"},"lastSnapshotAt":{"type":["string","null"],"format":"date-time"},"ageSec":{"type":["integer","null"]},"stale":{"type":"boolean"},"staleSec":{"type":"integer"},"reason":{"type":"string"}}},"IndexerHealth":{"type":"object","required":["available"],"properties":{"available":{"type":"boolean"},"source":{"type":"string"},"chainId":{"type":"integer"},"vault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"startBlock":{"type":"string"},"cursorBlock":{"type":["string","null"]},"latestBlock":{"type":["string","null"]},"confirmedBlock":{"type":["string","null"]},"lagBlocks":{"type":["string","null"]},"stale":{"type":"boolean"},"indexedAt":{"type":["string","null"],"format":"date-time"},"lastEventAt":{"type":["string","null"],"format":"date-time"},"lastEventBlock":{"type":["string","null"]},"rpcHealthy":{"type":"boolean"},"rpcError":{"type":"string"}}},"KeeperHeartbeat":{"type":"object","required":["available","service","updatedAt","ageSec","stale","staleSec"],"properties":{"available":{"type":"boolean"},"service":{"type":"string"},"updatedAt":{"type":["string","null"],"format":"date-time"},"ageSec":{"type":["integer","null"]},"stale":{"type":"boolean"},"staleSec":{"type":"integer"},"payload":{"type":"object","additionalProperties":true},"reason":{"type":"string"}}},"KeeperHealth":{"type":"object","required":["ok","heartbeat"],"properties":{"ok":{"type":"boolean"},"addresses":{"type":"object","properties":{"vaultStrategy":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"vaultNavSource":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"strategyVault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"strategyUsdc":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"strategyHlpVault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"navStrategyAccount":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"navHlpVault":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"checks":{"type":"object","additionalProperties":{"type":"boolean"}},"strategy":{"type":"object","required":["withdrawable","lockedUntil"],"properties":{"withdrawable":{"type":"boolean"},"lockedUntil":{"type":"string"}}},"nav":{"type":"object","required":["lastGoodAt"],"properties":{"lastGoodAt":{"type":"string"}}},"heartbeat":{"$ref":"#/components/schemas/KeeperHeartbeat"},"error":{"type":"string"}}},"HealthReady":{"type":"object","required":["display","history","activity","operations","deposits","reasonCodes"],"properties":{"display":{"type":"boolean","description":"Fresh enough for product display state."},"history":{"type":"boolean","description":"Snapshot chart data is available."},"activity":{"type":"boolean","description":"Vault event indexer is available and not stale."},"operations":{"type":"boolean","description":"Operational actions may be shown if the specific vault capability is also true."},"deposits":{"type":"boolean","description":"Deposits may be shown. False when paused or when operational health is degraded."},"reasonCodes":{"type":"array","items":{"type":"string","enum":["VAULT_READ_UNAVAILABLE","SNAPSHOT_UNAVAILABLE","SNAPSHOT_STALE","INDEXER_NOT_FRESH","KEEPER_WIRING_INVALID","KEEPER_HEARTBEAT_NOT_FRESH","KEEPER_HEARTBEAT_INVALID","KEEPER_HEARTBEAT_UNHEALTHY","KEEPER_ROLES_INVALID","DEPOSITS_PAUSED","CACHE_FALLBACK"]}}}},"Health":{"type":"object","required":["api","ready","database","vault","snapshots","indexer","keeper"],"properties":{"api":{"type":"string","const":"ok"},"ready":{"$ref":"#/components/schemas/HealthReady"},"database":{"type":"object","required":["configured"],"properties":{"configured":{"type":"boolean"}}},"vault":{"type":"object","required":["ok","data","error"],"properties":{"ok":{"type":"boolean"},"data":{"type":["object","null"],"additionalProperties":true},"error":{"type":["string","null"]}}},"snapshots":{"$ref":"#/components/schemas/SnapshotHealth"},"indexer":{"$ref":"#/components/schemas/IndexerHealth"},"keeper":{"$ref":"#/components/schemas/KeeperHealth"}}}}}}