Objective
By the end of this guide, you will:- Verify that both transactions (external and internal) succeeded
- Calculate how many messages were successfully sent
- Detect partial failures in batch transfers
Prerequisites
- Completed wallet creation with funded balance
- Sent at least one transfer (single or batch)
- Know the
query_idandcreated_atvalues used in the transfer
Verification overview
Highload Wallet v3 uses a two-transaction pattern. To verify full processing, you need to check both transactions:- External transaction (Transaction 1): Validates the message and marks
query_idas processed - Internal transaction (Transaction 2): Processes the action list and sends outgoing messages
processed? returns true, the internal transaction may have failed. Full verification requires checking both transactions.
See Message sending flow for the complete two-transaction pattern.
Helper functions
Create helper functions for transaction search and parsing:Step 1: Set up and check if processed
Load wallet configuration and check if thequery_id was marked as processed:
Step 2: Find and verify external transaction
Search transaction history to find the external transaction byquery_id and created_at:
Step 3: Find and verify internal transaction
Follow the transaction chain to find and verify Transaction 2:Step 4: Calculate sent messages
Calculate how many messages were successfully sent:Expected outputs
Full success
Partial success
External transaction failure
query_id is marked as processed, but the transaction failed during validation. See Exit codes for troubleshooting.
Internal transaction failure
query_id cannot be reused.