Developer reference
Intents API
How to submit signed messages to the relayer and read their fate. Schemas are generated from the same code the relayer runs.
Endpoints
POST /intents
Submit a signed intent (open, close, withdraw, register or revoke session keys, stake, unstake, claim).
Request: intentRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "openPosition"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"instrumentId": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"isLong": {
"type": "boolean"
},
"size": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"leverage": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"useDebt": {
"type": "boolean"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"instrumentId",
"isLong",
"size",
"leverage",
"useDebt",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "closePositions"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"positionIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
}
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"positionIds",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "withdrawToCore"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
},
"withdrawal": {
"type": "object",
"properties": {
"route": {
"type": "string",
"enum": [
"hypercore",
"hyperevm",
"ethereum",
"arbitrum",
"solana"
]
},
"destination": {
"type": "string"
},
"onward": {
"type": "object",
"properties": {
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"maximumFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"createRecipient": {
"type": "boolean"
},
"signature": {
"type": "object",
"properties": {
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"nonce",
"maximumFee",
"createRecipient",
"signature"
],
"additionalProperties": false
}
},
"required": [
"route"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed",
"withdrawal"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "registerSessionKey"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"key": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"expiry": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"feeAddress": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"key",
"expiry",
"feeAddress",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "registerSessionKeyV2"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"key": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"expiry": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"feeAddress": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"maxBuilderFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"referrer": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"key",
"expiry",
"feeAddress",
"maxBuilderFee",
"referrer",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "revokeSessionKeys"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"keys": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
}
},
"all": {
"type": "boolean"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"keys",
"all",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "stake"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "unstake"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"amount",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "claim"
},
"signed": {
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"nonce",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"action",
"signed"
],
"additionalProperties": false
}
]
}Response: intentAckSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"prepared",
"confirmed",
"failed",
"expired",
"cancelled"
]
},
"queueRevision": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"eligibleAtMs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"tradingPaused",
"marketPaused",
"inactiveInstrument",
"belowMinimum",
"belowMinimumNotional",
"leverageTooHigh",
"positionTooLarge",
"openInterest",
"funding",
"noOpenPositions",
"tokenBalance",
"stakedBalance",
"sessionKeyLimit",
"noDeposit",
"noRewards",
"alreadyQueued",
"tooManyPositions",
"accountLimit",
"accountRestricted",
"notAllowlisted",
"termsRequired",
"marketHeld",
"circuitBreaker",
"exposureLimit",
"sessionExpired",
"unauthorized",
"expired",
"invalid",
"nonceUsed",
"belowMinimumWithdrawal",
"retryLater",
"closeHold",
"internalError"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
{
"type": "null"
}
]
}
},
"required": [
"intentId",
"action",
"state",
"queueRevision"
]
}POST /intents/:id/cancel
Cancel a queued intent with a CancelIntent signature.
Request: cancelRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"user",
"deadline",
"v",
"r",
"s"
],
"additionalProperties": false
}Response: cancelResponseSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"const": "cancelled"
}
},
"required": [
"intentId",
"action",
"state"
]
}POST /intents/:id/onward
Re-sign the Hyperliquid onward leg of a stuck withdrawal.
Request: onwardRequestSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"nonce": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"maximumFee": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"createRecipient": {
"type": "boolean"
},
"signature": {
"type": "object",
"properties": {
"v": {
"type": "string",
"enum": [
"27",
"28"
]
},
"r": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"s": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"required": [
"v",
"r",
"s"
],
"additionalProperties": false
}
},
"required": [
"nonce",
"maximumFee",
"createRecipient",
"signature"
],
"additionalProperties": false
}Response: onwardResponseSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"status": {
"type": "string",
"enum": [
"signed",
"submitted",
"in_transit",
"settled",
"needs_signature",
"failed"
]
}
},
"required": [
"intentId",
"status"
]
}GET /intents/:id
State of one intent.
Response: intentStatusSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"action": {
"anyOf": [
{
"type": "string",
"enum": [
"openPosition",
"closePositions",
"withdrawToCore",
"registerSessionKey",
"registerSessionKeyV2",
"revokeSessionKeys",
"stake",
"unstake",
"claim",
"distribute"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"prepared",
"confirmed",
"failed",
"expired",
"cancelled"
]
},
"outcome": {
"type": "string",
"enum": [
"succeeded",
"failed",
"expired",
"cancelled",
"unknown"
]
},
"reason": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"tradingPaused",
"marketPaused",
"inactiveInstrument",
"belowMinimum",
"belowMinimumNotional",
"leverageTooHigh",
"positionTooLarge",
"openInterest",
"funding",
"noOpenPositions",
"tokenBalance",
"stakedBalance",
"sessionKeyLimit",
"noDeposit",
"noRewards",
"alreadyQueued",
"tooManyPositions",
"accountLimit",
"accountRestricted",
"notAllowlisted",
"termsRequired",
"marketHeld",
"circuitBreaker",
"exposureLimit",
"sessionExpired",
"unauthorized",
"expired",
"invalid",
"nonceUsed",
"belowMinimumWithdrawal",
"retryLater",
"closeHold",
"internalError"
]
},
{
"type": "string",
"pattern": "^[a-z][A-Za-z0-9]{0,63}$"
}
]
},
{
"type": "null"
}
]
},
"txHash": {
"anyOf": [
{
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
{
"type": "null"
}
]
},
"positionId": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
{
"type": "null"
}
]
},
"acceptedAtMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"deadline": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"eligibleAtMs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"intentId",
"action",
"state",
"acceptedAtMs",
"deadline"
]
}GET /queue-rank/accounts/:addr
Position of an account in the relayer queue.
Response: queueRankSchema · JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"queueRevision": {
"type": "string",
"pattern": "^(?:0|[1-9][0-9]*)$"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"intentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"position": {
"type": "string",
"pattern": "^[1-9][0-9]*$"
}
},
"required": [
"intentId",
"position"
]
}
}
},
"required": [
"ok",
"entries"
]
}Intent states
An accepted intent moves through these public states; failed, expired and cancelled are final. An idempotent resubmission returns the intent’s real state, including a final one.
queuedpreparedconfirmedfailedexpiredcancelled
Reasons
Rejections and failures carry one of these reasons. Clients should treat an unknown reason as a generic failure.
tradingPausedmarketPausedinactiveInstrumentbelowMinimumbelowMinimumNotionalleverageTooHighpositionTooLargeopenInterestfundingnoOpenPositionstokenBalancestakedBalancesessionKeyLimitnoDepositnoRewardsalreadyQueuedtooManyPositionsaccountLimitaccountRestrictednotAllowlistedtermsRequiredmarketHeldcircuitBreakerexposureLimitsessionExpiredunauthorizedexpiredinvalidnonceUsedbelowMinimumWithdrawalretryLatercloseHoldinternalError
Intake errors
| Code | HTTP status |
|---|---|
invalid_intent | 400 |
deadline_expired | 400 |
unauthorized_intent | 403 |
intent_not_found | 404 |
intent_conflict | 409 |
admission_rejected | 422 |
below_minimum_stake | 422 |
below_minimum_withdrawal | 422 |
invalid_onward | 422 |
intake_action_paused | 422 |
rate_limited | 429 |
region_restricted | 451 |
request_failed | 500 |
intent_conflict: nonceUsed, cancelRace, notCancellable, onwardState. invalid_onward: signature, nonceWindow, mismatch.
Contract errors
When a call reverts on-chain, the relayer maps the contract’s custom error to a reason and decides whether to retry. Errors marked with a dormant switch can only occur after that defence is switched on.
| Contract error | Reason | Relayer policy | Dormant switch |
|---|---|---|---|
InsufficientGas | internalError | bug | |
AlreadySet | invalid | terminal | |
RenounceDisabled | internalError | bug | |
NotExecutor | internalError | bug | |
NotPauseAuthority | internalError | bug | |
NotMarketKeeper | internalError | bug | |
NotReconciler | internalError | bug | |
NotDevFeeRecipient | internalError | bug | |
NotStaking | internalError | bug | |
NotOffHoursKeeper | internalError | bug | |
TradingPaused | tradingPaused | terminal | |
BreakerActive | circuitBreaker | requeue | D6 |
LpFrozen | circuitBreaker | requeue | D6 |
MarketIsRetired | inactiveInstrument | terminal | |
InvalidInstrument | inactiveInstrument | terminal | |
LeverageTooLow | leverageTooHigh | terminal | |
LeverageTooHigh | leverageTooHigh | terminal | |
MarginBelowMinimum | belowMinimum | terminal | |
NotionalBelowMinimum | belowMinimumNotional | terminal | |
PositionTooLarge | positionTooLarge | terminal | |
OiCapExceeded | openInterest | requeueOnce | |
BlockFlowExceeded | openInterest | requeueNextBlock | D4 |
SideExposureExceeded | exposureLimit | terminal | D5 |
AccountNotionalExceeded | accountLimit | terminal | D7 |
TooManyPositions | tooManyPositions | terminal | |
InsufficientBalance | funding | terminal | |
InsufficientDebtBalance | funding | terminal | |
DebtWalkLimit | funding | terminal | |
PositionNotOpen | noOpenPositions | terminal | |
NotPositionOwner | unauthorized | terminal | |
EmptyIds | invalid | terminal | |
TooManyIds | invalid | terminal | |
ProfitHoldNotElapsed | closeHold | requeue | D3 |
NotLiquidatable | invalid | terminal | |
DirectCloseDisabled | invalid | terminal | |
QueueEmpty | invalid | terminal | |
OracleUnavailable | marketHeld | requeue | |
BadBook | marketHeld | requeue | |
SpreadTooWide | marketHeld | requeue | D2 |
PriceDeviation | marketHeld | requeue | D1 |
RefPriceUnavailable | marketHeld | requeue | D1 |
NoProxy | internalError | bug | |
ProxyNotActivated | internalError | bug | |
ExchangeNotActivated | internalError | bug | |
PrecompileReadFailed | retryLater | requeue | |
SweepAlreadyPending | internalError | bug | |
SweepBelowMinimum | internalError | bug | |
SweepTooSoon | retryLater | requeueNextBlock | |
NoPendingSweep | internalError | bug | |
FinalizeTooSoon | retryLater | requeueNextBlock | |
SweepNotLanded | retryLater | requeueNextBlock | |
ReconcileExceedsUnconfirmed | invalid | terminal | |
ReconcileExceedsSurplus | invalid | terminal | |
UnconfirmedExpired | invalid | terminal | |
SweepsPending | internalError | bug | |
WithdrawalBelowMinimum | belowMinimumWithdrawal | terminal | |
WithdrawalTooLarge | invalid | terminal | |
ActivationExceedsAmount | invalid | terminal | |
CoreBalanceInsufficient | retryLater | requeue | |
WithdrawOncePerBlock | retryLater | requeueNextBlock | |
FeeTooHigh | invalid | terminal | |
ParamOutOfBounds | invalid | terminal | |
ZeroAddress | invalid | terminal | |
AlreadyRetired | invalid | terminal | |
CapAboveCeiling | internalError | bug | D8 |
AssetAlreadyListed | invalid | terminal | |
AssetInfoMismatch | invalid | terminal | |
TooManyInstruments | invalid | terminal | |
PriceOutOfRange | invalid | terminal | |
DeferredHooksPending | invalid | terminal | |
BreakerDisabled | invalid | terminal | |
BreakerNotTripped | invalid | terminal | |
GuardianTripLimit | invalid | terminal | D6 |
ResetNotAllowed | invalid | terminal | D6 |
DomainMismatch | internalError | bug | |
SzDecimalsTooLarge | internalError | bug | |
NotAuthorizedRelayer | internalError | bug | |
EmptyBatch | internalError | bug | |
BatchTooLarge | internalError | bug | |
SelectorNotAllowed | internalError | bug | |
BatchCallFailed | internalError | bug | |
NotGuardianOrOwner | internalError | bug | |
UnauthorizedSubmitter | internalError | bug | |
UnauthorizedCaller | internalError | bug | |
InvalidSignature | unauthorized | terminal | |
ExpiredDeadline | expired | terminal | |
DeadlineTooFar | invalid | terminal | D9 |
InvalidNonce | nonceUsed | terminal | |
SessionKeyExpired | sessionExpired | terminal | |
ZeroAddressKey | invalid | terminal | |
KeyIsUser | invalid | terminal | |
ExpiryInPast | invalid | terminal | |
ExpiryTooLong | invalid | terminal | D9 |
TooManyKeys | invalid | terminal | |
BuilderNotApproved | invalid | terminal | |
BuilderFeeWithoutBuilder | invalid | terminal | |
AlreadyRegistered | invalid | terminal | |
InvalidReferrer | invalid | terminal | |
ReferrerAlreadySet | invalid | terminal | |
NotSessionKeyManager | internalError | bug | |
NotReferralManager | internalError | bug | |
ZeroAmount | invalid | terminal | |
InsufficientStake | stakedBalance | terminal | |
DirectCallsDisabled | invalid | terminal | |
NotDistributor | internalError | bug | |
NotExchange | internalError | bug | |
InvalidMintParams | invalid | terminal | |
MintParamsAreFrozen | invalid | terminal | |
RebateAlreadyActive | invalid | terminal | |
RebateUnavailable | invalid | terminal | |
ExponentTooLarge | internalError | bug | |
FeeRateTooHigh | invalid | terminal | |
NotBuilderGuardian | internalError | bug | |
NotBuilder | internalError | bug | |
TransferRestricted | internalError | bug | |
NotMinter | internalError | bug | |
NotAuthorizedDeployer | internalError | bug | |
OnlyExchange | internalError | bug | |
OnlyUser | unauthorized | terminal | |
ActionNotAllowed | internalError | bug | |
BadDestination | internalError | bug | |
UsdcRescueForbidden | invalid | terminal | |
NativeTransferFailed | invalid | terminal | |
ECDSAInvalidSignature | unauthorized | terminal | |
ECDSAInvalidSignatureLength | unauthorized | terminal | |
ECDSAInvalidSignatureS | unauthorized | terminal | |
ERC20InsufficientBalance | tokenBalance | terminal | |
ERC20InsufficientAllowance | internalError | bug | |
ERC20InvalidSender | internalError | bug | |
ERC20InvalidReceiver | internalError | bug | |
ERC20InvalidApprover | internalError | bug | |
ERC20InvalidSpender | internalError | bug | |
ERC2612ExpiredSignature | expired | terminal | |
ERC2612InvalidSigner | unauthorized | terminal | |
InvalidAccountNonce | nonceUsed | terminal | |
OwnableUnauthorizedAccount | internalError | bug | |
OwnableInvalidOwner | internalError | bug | |
ReentrancyGuardReentrantCall | internalError | bug | |
InvalidInitialization | internalError | bug | |
NotInitializing | internalError | bug | |
UUPSUnauthorizedCallContext | internalError | bug | |
UUPSUnsupportedProxiableUUID | internalError | bug | |
ERC1967InvalidImplementation | internalError | bug | |
ERC1967NonPayable | internalError | bug | |
AddressEmptyCode | internalError | bug | |
FailedCall | internalError | bug | |
SafeCastOverflowedUintDowncast | internalError | bug | |
SafeCastOverflowedIntDowncast | internalError | bug | |
SafeCastOverflowedUintToInt | internalError | bug | |
SafeCastOverflowedIntToUint | internalError | bug | |
SafeERC20FailedOperation | internalError | bug | |
InvalidShortString | internalError | bug | |
StringTooLong | internalError | bug |