Skip to main content

ValidateResponse

okbooleanrequired
problems object[]required
  • Array [
  • typestring<uri>required

    https://docs.co-relayer.com/errors/<kebab-code>

    titlestringrequired
    statusintegerrequired
    detailstring
    instancestring

    Request id.

    codeErrorCoderequired

    Stable machine-readable error code. The enum is open: treat an unknown code by its HTTP status and retryable. CONTRACT_PAUSED (503, resign: SAME_BYTES, retryable) means the CoRelayer contract itself is paused (paused / deposits_paused; contract errors ERR_PAUSED / ERR_DEPOSITS_PAUSED). The relay path, the prepare routes, the purchase pre-check and x402 can all return it. SWAP_VENUE_PAUSED means only the exchange venue is paused.

    Possible values: [MALFORMED_REQUEST, VARIANTS_NOT_SUPPORTED, RELAYER_SIGNATURE_PRESENT, CHAIN_ID_MISMATCH, TX_VERSION_UNSUPPORTED, TX_OPTIONS_UNSUPPORTED, LEASE_MISSING, LEASE_INVALID, LEASE_MISMATCH, LEASE_EXPIRED, NONCE_PIN_MISMATCH, RESIGN_REQUIRED, RESIGN_SAME_NONCE, REPLACEMENT_UNDERPRICED, INTENT_ALREADY_EXECUTED, NOTHING_TO_CANCEL, NONCE_TOO_LOW, NONCE_IN_FLIGHT, NONCE_GAP, TOO_MANY_IN_FLIGHT, RELAYER_UNKNOWN, RELAYER_SHARD_MISMATCH, RELAYER_RETIRED, GAS_PRICE_OUT_OF_RANGE, GAS_LIMIT_TOO_LOW, GAS_LIMIT_TOO_HIGH, GAS_OVERPROVISIONED, DATA_TOO_LARGE, RECEIVER_NOT_ALLOWED, SENDER_SIGNATURE_INVALID, GUARDIAN_SIGNATURE_INVALID, GUARDIAN_REQUIRED, GUARDIAN_MISMATCH, GUARDIAN_IS_RELAYER, INSUFFICIENT_SENDER_BALANCE, SIMULATION_FAILED, SWAP_VENUE_PAUSED, CONTRACT_PAUSED, ASSIGN_PROOF_REQUIRED, ASSIGN_PROOF_INVALID, FREE_FLOW_BUSY, FREE_FLOW_BARRED, FREE_FLOW_UNAVAILABLE, INTENT_ALREADY_SUBMITTED, HOURLY_BURN_EXCEEDED, SIGNER_TIMEOUT, NO_ENTITLEMENT, SENDER_NOT_AUTHORIZED, QUOTA_EXHAUSTED, RATE_LIMITED, GAS_BUDGET_EXCEEDED, NO_RELAYER_AVAILABLE, UPSTREAM_UNAVAILABLE, SIGNER_UNAVAILABLE, SIGNER_FENCED, INTERNAL, PRICE_ABOVE_MAX, TIER_NOT_PURCHASABLE, QUEUED_BLOCK_EXISTS, DOWNGRADE_NOT_IMMEDIATE, INSUFFICIENT_CREDITS, DEPOSIT_BELOW_MIN, DEPOSIT_ABOVE_MAX, SWAP_BUDGET_EXHAUSTED, PAYG_PRICE_ABOVE_MAX, DEPLOY_NOT_ALLOWED, UNSUPPORTED_TX_FIELD, QUOTE_EXPIRED, RENEW_NOT_APPLICABLE, UNAUTHENTICATED, TOKEN_INVALID, TOKEN_EXPIRED, ORIGIN_NOT_ALLOWED, CHALLENGE_INVALID, API_KEY_INVALID, API_KEY_SCOPE, STREAM_TICKET_INVALID, FORBIDDEN, ACCOUNT_SUSPENDED, NOT_FOUND, PAYLOAD_TOO_LARGE, CURSOR_INVALID, IDEMPOTENCY_KEY_REUSED, IDEMPOTENCY_IN_PROGRESS, LIMIT_REACHED, WEBHOOK_URL_NOT_ALLOWED, PAYMENT_REQUIRED, PAYMENT_INVALID, PAYMENT_FAILED]

    retryablebooleanrequired
    resignResignAction

    Possible values: [NONE, SAME_BYTES, NEW_SIGNATURE_SAME_NONCE]

    hintstring

    One sentence that tells an agent what to do next.

    intent object
    senderAddressrequired

    MultiversX bech32 address.

    Possible values: Value must match regular expression ^erd1[02-9ac-hj-np-z]{58}$

    Example: erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e
    nonceinteger<int64>required
    stateIntentStaterequired

    Possible values: [ASSIGNED, RECEIVED, REJECTED, ACCEPTED, COSIGNED, BROADCAST, EXECUTED_OK, EXECUTED_FAIL, DEAD, EXPIRED_LOCALLY_STILL_VALID]

    txHashTxHash

    Possible values: Value must match regular expression ^[0-9a-f]{64}$

    details object

    Code-specific. Fixed members: nonce errors onchainNonce, poolLastNonce, expectedNonce, occupiedBy (own|foreign), pinnedNonce; LEASE_EXPIRED.renewable; replacement errors minGasPrice; limit errors limit, actual, bound (min|max); SIMULATION_FAILED.returnMessage; NO_ENTITLEMENT.reason (NO_ACCOUNT|PERIOD_LAPSED); QUOTA_EXHAUSTED.reason (CAP_REACHED_PAYG_OFF|PAYG_ESCROW_EMPTY) + periodEndMs; 429/503 retryAfterMs; pricingUrl, x402Url on 402/429 quota errors; ASSIGN_PROOF_*.serverTimeMs; TOKEN_INVALID.expectedShard (= 1); FREE_FLOW_BUSY.reason (INTENT_IN_FLIGHT|PENDING_TX); FREE_FLOW_BARRED.untilMs; RATE_LIMITED.scope (account|platform); CONTRACT_PAUSED.scope (all|deposits).

    property name*any

    Code-specific. Fixed members: nonce errors onchainNonce, poolLastNonce, expectedNonce, occupiedBy (own|foreign), pinnedNonce; LEASE_EXPIRED.renewable; replacement errors minGasPrice; limit errors limit, actual, bound (min|max); SIMULATION_FAILED.returnMessage; NO_ENTITLEMENT.reason (NO_ACCOUNT|PERIOD_LAPSED); QUOTA_EXHAUSTED.reason (CAP_REACHED_PAYG_OFF|PAYG_ESCROW_EMPTY) + periodEndMs; 429/503 retryAfterMs; pricingUrl, x402Url on 402/429 quota errors; ASSIGN_PROOF_*.serverTimeMs; TOKEN_INVALID.expectedShard (= 1); FREE_FLOW_BUSY.reason (INTENT_IN_FLIGHT|PENDING_TX); FREE_FLOW_BARRED.untilMs; RATE_LIMITED.scope (account|platform); CONTRACT_PAUSED.scope (all|deposits).

    assignment object
    assignmentIdstringrequired

    The ID of this assignment, as 24 lowercase hex characters.

    Possible values: Value must match regular expression ^[0-9a-f]{24}$

    relayerAddressrequired

    MultiversX bech32 address.

    Possible values: Value must match regular expression ^erd1[02-9ac-hj-np-z]{58}$

    Example: erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e
    shardShardrequired

    Possible values: [0, 1, 2]

    leasestringrequired

    Lease token v1, base64url without padding, 192 characters.

    Possible values: >= 192 characters and <= 192 characters

    leaseExpiresAtMsinteger<int64>required

    Unix time in milliseconds.

    Possible values: >= 0

    serverTimeMsinteger<int64>required

    Unix time in milliseconds.

    Possible values: >= 0

    chainIdstringrequired
    minGasPriceinteger<int64>required
    maxGasPriceinteger<int64>required
    extraGasRelayedintegerrequired
    extraGasGuardedintegerrequired
    expectedNonceinteger<int64>

    Advisory; present when a fresh nonce view exists.

    pinNonceinteger<int64>

    Present only on re-sign and cancel leases.

    registryVersioninteger<int64>required

    The contract's getRegistryVersion() value this assignment was made from. Use it in the cache key when you verify the relayer on chain.

    property name*any

    RFC 9457 problem document with CoRelayer extension members.

  • ]
  • ruinteger<int64>

    Relay Units.

    Possible values: >= 0

    maxFeeAttoAttoEgld

    atto-EGLD as decimal string.

    Possible values: Value must match regular expression ^[0-9]+$

    moveGasinteger<int64>
    simulatedGas(integer | null)<int64>nullable
    expectedNonce(integer | null)<int64>nullable
    wouldBill object
    accountAddress

    MultiversX bech32 address.

    Possible values: Value must match regular expression ^erd1[02-9ac-hj-np-z]{58}$

    Example: erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e
    authModeAuthMode

    Possible values: [own_account, authorized_sender, api_key, free_list, internal]

    billedAsstring

    Possible values: [grant, bonus, cap, payg, free, none]

    ValidateResponse
    {
    "ok": true,
    "problems": [
    {
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string",
    "code": "MALFORMED_REQUEST",
    "retryable": true,
    "resign": "NONE",
    "hint": "string",
    "intent": {
    "sender": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
    "nonce": 0,
    "state": "ASSIGNED",
    "txHash": "string"
    },
    "details": {},
    "assignment": {
    "assignmentId": "string",
    "relayer": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
    "shard": 0,
    "lease": "string",
    "leaseExpiresAtMs": 0,
    "serverTimeMs": 0,
    "chainId": "string",
    "minGasPrice": 0,
    "maxGasPrice": 0,
    "extraGasRelayed": 0,
    "extraGasGuarded": 0,
    "expectedNonce": 0,
    "pinNonce": 0,
    "registryVersion": 0
    }
    }
    ],
    "ru": 0,
    "maxFeeAtto": "string",
    "moveGas": 0,
    "simulatedGas": 0,
    "expectedNonce": 0,
    "wouldBill": {
    "account": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
    "authMode": "own_account",
    "billedAs": "grant"
    }
    }