User GuidesUpdated: Jul 8, 2026

How to Read SupraScan for ElyxS

Where to find transaction status, function, Payload, Output, events, and fields in SupraScan when checking purchases, winners, cancellations, refunds, and prize claims.

Verification

How to confirm results and review the on-chain trail.

Start with the right transaction

If ElyxS shows a transaction hash or SupraScan link, start there. Draw history, result verification, and profile history entries open the linked transaction.

For a prize claim or refund, after wallet confirmation you can also take the hash from wallet history.

If you already have a transaction hash, paste it into the SupraScan search field. If you are looking manually, use Blockchain -> Transactions, then open the relevant transaction.

Before checking fields, compare the SupraScan network with the network used by ElyxS and your wallet. On testnet, SupraScan shows a notice that the network keeps only recent data for a limited period. Save important transaction hashes as soon as you see them.

Main blocks on the page

In Basic Information, start with quick checks:

  • Status: a successful transaction is shown as Success.
  • Sender: the wallet that signed the transaction.
  • Recipient: the contract address or transaction recipient.
  • Transaction Hash: the hash to compare with the ElyxS link or include in a support request.
  • Function: the Move function called by the transaction, such as cancellation::cancel_draw, cancellation::claim_refund, or payout_processor::claim_payout.
  • Time (Local): the local transaction time.

In Advanced Information, open the technical details:

  • VM Status: for successful execution, it should show Executed successfully.
  • Payload {...}: call data when SupraScan decodes it.
  • Output {...}: the main block for event checks. Inside it, open Move -> events[].

Use the Events tab if SupraScan shows an event list for that transaction.

Where to find fields

  1. Open the transaction in SupraScan.
  2. Go to Advanced Information.
  3. Expand Output {...}.
  4. Expand Move -> events[].
  5. In each event, read the type line and the data object.
  6. Use page search for the exact event name, such as WinnerRecordedEvent or RefundClaimPaidEvent.

type shows the event name. data contains the event fields: draw_id, winner, amount, request_id, reason_code, and other values to compare with ElyxS.

What to verify by scenario

What you checkWhat to search forFields in data
Ticket purchaseFunction = sales::buy_tickets_paid; TicketPurchaseBatchEventdraw_id, buyer, start_ticket_id, ticket_count, ticket_price_amount
Single ticket recordTicketPurchasedEventdraw_id, ticket_id, buyer, ticket_price_amount
VRF requestRandomnessRequestedEventrequest_id, draw_id, round_id, total_tickets_at_request, round_snapshot_hash, request_payload_bcs, request_payload_hash, vrf_client_seed
VRF callbackRandomnessFulfilledEventrequest_id, draw_id, randomness
Standard draw resultDrawFulfilledEventdraw_id, request_id, winners, ticket_indices, random_bytes, prize_amount, payload
Winner recordWinnerRecordedEventpayout_id, draw_id, winner, ticket_index, amount, randomness_hash, payload_hash
Jackpot resultJackpotFulfilledEventdraw_id, request_id, winner, ticket_index, prize_amount, random_bytes, payload
Draw cancellationFunction = cancellation::cancel_draw; DrawCanceledEventdraw_id, reason_code, canceled_ts, previous_status, tickets_sold, proceeds_accum, jackpot_locked, pending_tickets_cleared
Per-player refundDrawRefundEventdraw_id, player, ticket_count, refund_amount, refund_ts
Prepared refund claimRefundClaimPreparedEventdraw_id, recipient, ticket_count, amount, prepared_ts
Paid refundFunction = cancellation::claim_refund; RefundClaimPaidEventdraw_id, recipient, amount, paid_ts
Prize claimFunction = payout_processor::claim_payout; PayoutStatusUpdatedEventpayout_id, draw_id, previous_status, next_status

To connect the VRF request and result, compare request_id and draw_id in RandomnessRequestedEvent and RandomnessFulfilledEvent. They must refer to the same draw.

Codes and values

For draw cancellation, reason_code has two user-facing values:

  • 1: insufficient participation by the sales deadline.
  • 2: ticket cap reached without meeting the minimum participation requirement.

For payouts, PayoutStatusUpdatedEvent uses these statuses:

  • 1: pending.
  • 2: paid.
  • 3: refunded.
  • 4: expired.
  • 5: non-monetary.
  • 6: voided.

The amount, prize_amount, refund_amount, and ticket_price_amount fields are raw on-chain numbers. ElyxS shows users the formatted value.

For jackpot checks, ticket_index is a zero-based weighted ticket slot, not the participant's row number in the interface.

If the event is missing

First check the network, transaction hash, and draw_id. Then confirm that you opened Output -> Move -> events[] or the Events tab.

If the event is still missing, do not replace it with another transaction that has a similar draw_id. Return to ElyxS and open the verification link again.

When contacting support, include your wallet address, draw ID, transaction hash, a SupraScan screenshot, and the field or event that does not match.

Need help with this flow?

If the steps do not behave as expected, collect the basic context before you contact support.

  1. Confirm that the correct wallet and network are being used.
  2. Save the transaction hash, error code, or a screenshot of the failing step.
  3. If the flow is still blocked, send the key details to support.
Contact support

Helpful materials

FAQ, Glossary, and Error Reference are the fastest way to decode terms, errors, and adjacent product flows.

Open FAQ