Skip to main content
POST
/
v1
/
credit
/
executions
curl --request POST \
  --url https://sequencer.example.com/v1/credit/executions \
  --header 'Content-Type: application/json' \
  --data '{
  "authId": "0x1122334455667788990011223344556677889900112233445566778899001122",
  "chainRef": "eip155:8453",
  "executionTxHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
  "status": "SUCCESS",
  "reportId": "0x9988776655443322119988776655443322119988776655443322119988776655",
  "reportedAt": "1735689700",
  "relayerKeyId": "relayer-key-1",
  "reportSig": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
}'
{
  "ok": true,
  "idempotent": false
}

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nhestrompia/shielded-x402/llms.txt

Use this file to discover all available pages before exploring further.

This endpoint allows authorized relayers to report that an authorization has been executed on-chain. The sequencer validates the relayer’s signature and updates the authorization status.

Request body

authId
string
required
32-byte hex identifier of the authorization being executed.
chainRef
string
required
Chain reference where execution occurred (must match the authorization’s chainRef).
executionTxHash
string
required
Transaction hash of the on-chain execution. Can be hex or chain-specific format.
status
string
required
Execution status. Either SUCCESS or FAILED.
reportId
string
required
32-byte hex idempotency key for this execution report.
reportedAt
string
required
Uint64 Unix timestamp (seconds) when the report was created. Cannot be more than 300 seconds in the future.
relayerKeyId
string
required
Identifier of the relayer key used to execute and sign this report.
reportSig
string
required
Hex-encoded Ed25519 signature of the execution report by the relayer’s private key.

Response

ok
boolean
required
Always true on success.
idempotent
boolean
required
Whether this report was idempotent (true if the same reportId was used previously with identical data).

Error codes

CodeDescription
INVALID_REQUESTMalformed request payload or validation error
NOT_FOUNDAuthorization not found
UNAUTHORIZED_REPORTERRelayer key not found or inactive for the specified chain
authorization not foundAuthId doesn’t exist
execution chainRef mismatchChainRef doesn’t match authorization
invalid execution report signatureRelayer signature verification failed
reportId already used with different execution payloadIdempotency key reused with different data
authorization already reclaimedCannot report execution for a reclaimed authorization
execution report beyond grace windowReport submitted after the grace period
CONFLICT_EXECUTIONAuthorization already executed with a different transaction hash
curl --request POST \
  --url https://sequencer.example.com/v1/credit/executions \
  --header 'Content-Type: application/json' \
  --data '{
  "authId": "0x1122334455667788990011223344556677889900112233445566778899001122",
  "chainRef": "eip155:8453",
  "executionTxHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
  "status": "SUCCESS",
  "reportId": "0x9988776655443322119988776655443322119988776655443322119988776655",
  "reportedAt": "1735689700",
  "relayerKeyId": "relayer-key-1",
  "reportSig": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
}'
{
  "ok": true,
  "idempotent": false
}

Build docs developers (and LLMs) love