Skip to main content

UsageRow

One row per transaction hash, from the transaction history joined with the billing ledger. inFlight rows come from the live intent journal. A slot (sender, senderNonce) can therefore appear twice, as a dead row and as the replacement that executed; only the executed hash is billed. billed = true means a ledger row exists for this txHash. The billing members (ledgerId, periodId, tariffIdx, ruScheduleVersion, ruCap, ruPayg, billingClass, paygPriceMicro, paygDebitMicro, settlement) are null or absent when billed = false. A DEAD intent is never billed but stays in the history. ru is the weight computed when the transaction was accepted, and is present on every row.

ledgerId(integer | null)<int64>nullable
billedbooleanrequired

True when this transaction was billed. RU and money totals count only rows with billed = true.

inFlightboolean
stateIntentState

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

rejectCodeErrorCode

Only on state: REJECTED rows (last 30 days, includeInFlight=true).

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]

txHashTxHashrequired

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

senderAddressrequired

MultiversX bech32 address.

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

Example: erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e
senderNonceinteger<int64>required
accountAddressrequired

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]

apiKeyIdstring | nullnullable
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]

receiverAddress

MultiversX bech32 address.

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

Example: erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e
functionstring | nullnullable
periodIdinteger | nullnullable
tariffIdxinteger | nullnullable
ruScheduleVersioninteger | nullnullable
ruinteger<int64>required

Relay Units.

Possible values: >= 0

ruCap object
anyOf

Relay Units.

integer<int64>

Relay Units.

Possible values: >= 0

ruPayg object
anyOf

Relay Units.

integer<int64>

Relay Units.

Possible values: >= 0

billingClass object
anyOf
BillingClass

Possible values: [cap, payg, mixed, free, internal, goodwill]

paygPriceMicro object
anyOf

micro-USDC (6 decimals) as JSON integer - operational endpoints.

integer<int64>

micro-USDC (6 decimals) as JSON integer - operational endpoints.

Possible values: >= 0

paygDebitMicro object
anyOf

micro-USDC (6 decimals) as JSON integer - operational endpoints.

integer<int64>

micro-USDC (6 decimals) as JSON integer - operational endpoints.

Possible values: >= 0

status object

Null on in-flight and REJECTED rows.

anyOf

Terminal status of a transaction in the usage history: the ExecStatus values plus dead. dead means it ended without executing (replaced by a cancel, a re-sign or a competing transaction, nonce consumed elsewhere, invalid bytes). A dead transaction is never billed; deadReason says which case applies. REJECTED submissions have no status: they appear only with includeInFlight=true, as state: REJECTED + rejectCode, with status null.

UsageStatus

Terminal status of a transaction in the usage history: the ExecStatus values plus dead. dead means it ended without executing (replaced by a cancel, a re-sign or a competing transaction, nonce consumed elsewhere, invalid bytes). A dead transaction is never billed; deadReason says which case applies. REJECTED submissions have no status: they appear only with includeInFlight=true, as state: REJECTED + rejectCode, with status null.

Possible values: [executed_ok, executed_fail, invalid, dead]

deadReason object

Present only with status = dead.

anyOf
DeadReason

Possible values: [NONCE_CONSUMED_FOREIGN, REPLACED_BY_CANCEL, REPLACED_BY_RESIGN, REPLACED_BY_PEER, INVALID_BYTES]

gasLimitinteger<int64>
gasPriceinteger<int64>
dataLeninteger
guardedboolean
maxFeeAttoAttoEgld

atto-EGLD as decimal string.

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

feePaidAttoAttoEgld

atto-EGLD as decimal string.

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

gasUsedinteger<int64>
blockNonceinteger<int64>
blockHashHex32

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

executedBlockTsMsinteger<int64>

Chain time of the executing block. On a dead row - which has no executing block - the chain time (sender shard) at which the intent was decided terminal, so the keyset order (executedBlockTsMs DESC, txHash DESC) stays total; blockNonce / blockHash are absent there.

Possible values: >= 0

receivedAtMs(integer | null)<int64>nullable
cosignedAtMs(integer | null)<int64>nullable
broadcastAtMs(integer | null)<int64>nullable
finalizedAtMs(integer | null)<int64>nullable
latency object

All values in milliseconds. A value is null when its timestamp is unknown, for example on a row the service recovered after a restart. acceptToCosignMs = cosignedAtMs - receivedAtMs; cosignToBroadcastMs = broadcastAtMs - cosignedAtMs; addedMs = broadcastAtMs - receivedAtMs; inclusionMs = executedBlockTsMs - receivedAtMs; finalityMs = finalizedAtMs - executedBlockTsMs; totalMs = finalizedAtMs - receivedAtMs; roundsToInclusion = ceil(inclusionMs / roundDurationMs).

acceptToCosignMsinteger | nullnullable
cosignToBroadcastMsinteger | nullnullable
addedMsinteger | nullnullable
inclusionMsinteger | nullnullable
finalityMsinteger | nullnullable
totalMsinteger | nullnullable
roundsToInclusioninteger | nullnullable
crossShardboolean
recoveredboolean
lateboolean
settlement object
statestring

Possible values: [not_applicable, unsettled, settled, written_off]

batchId(integer | null)<int64>nullable
seq(integer | null)<int64>nullable
rootBatchId(integer | null)<int64>nullable

Batch whose usage_root commits this row.

duringIncidentsstring[]
explorerUrlstring<uri>
UsageRow
{
"ledgerId": 0,
"billed": true,
"inFlight": true,
"state": "ASSIGNED",
"rejectCode": "MALFORMED_REQUEST",
"txHash": "string",
"sender": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
"senderNonce": 0,
"account": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
"authMode": "own_account",
"apiKeyId": "string",
"relayer": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
"shard": 0,
"receiver": "erd1mf4u0jr6786wtz7s7dj6gmpyfafg8e0exh5wvye5cygvvxyyxhpsmj8q0e",
"function": "string",
"periodId": 0,
"tariffIdx": 0,
"ruScheduleVersion": 0,
"ru": 0,
"ruCap": 0,
"ruPayg": 0,
"billingClass": "cap",
"paygPriceMicro": 0,
"paygDebitMicro": 0,
"status": "executed_ok",
"deadReason": "NONCE_CONSUMED_FOREIGN",
"gasLimit": 0,
"gasPrice": 0,
"dataLen": 0,
"guarded": true,
"maxFeeAtto": "string",
"feePaidAtto": "string",
"gasUsed": 0,
"blockNonce": 0,
"blockHash": "string",
"executedBlockTsMs": 0,
"receivedAtMs": 0,
"cosignedAtMs": 0,
"broadcastAtMs": 0,
"finalizedAtMs": 0,
"latency": {
"acceptToCosignMs": 0,
"cosignToBroadcastMs": 0,
"addedMs": 0,
"inclusionMs": 0,
"finalityMs": 0,
"totalMs": 0,
"roundsToInclusion": 0,
"crossShard": true
},
"recovered": true,
"late": true,
"settlement": {
"state": "not_applicable",
"batchId": 0,
"seq": 0,
"rootBatchId": 0
},
"duringIncidents": [
"string"
],
"explorerUrl": "string"
}