Resolving Disputes
Resolve disputes by generating txo confirmations from the sender and validating them on the receiver
In some cases when sending a transaction, the recipient will report not having received the transaction. Please use the following steps to triage and resolve disputes.
Verify Transaction Success
First, verify whether the transaction was a success by examining the transaction_log
for the transaction using the get_transaction_log
endpoint, which will provide an example result as below:
Confirm Status and Block Index
For a successful transaction, the status
is succeeded
, and the finalized_block_index
is populated.
Confirm Recipient Address
The output_txos
for the transaction contain details about the txo itself, including the value
and token_id
. The recipient_public_address_b58
specifies the address to which the amount was sent.
Confirm with the Block Explorer
You can use the txo_id
from the output_txos
to get more information about the specific txo over which there may be a dispute, with the get_txo
endpoint.
You can use the public_key
to confirm with the block explorer. The MobileCoin Foundation hosts a public block explorer at https://block-explorer.mobilecoin.foundation/.
For the example above, we can go to the block index indicated in the transaction_log
: 318163
, here: https://block-explorer.mobilecoin.foundation/blocks/318163, and scroll down to the Transaction Outputs section, where we see the public key 8e279a2326d585a9c8b24c0b3c9d356e63f1c4276b22bb97f25b45bb58ec810d
(with the prefix 0a20
removed)
Provide Confirmation Receipt to the Receiver
After you have confirmed that the transaction_log
indicates that you sent the transaction to the correct recipient, and you confirmed that the transaction outputs are in the blockchain, the next step of dispute resolution involves providing a cryptographic proof that you created the transaction, called a confirmation. You can follow the steps below to create a confirmation:
Sender Provides the TXO Confirmations
Using the
transaction_log_id
obtained from the previous step, callget_confirmations
This will return a response that has an array of confirmations.
For the TXO that you wish to confirm, this is where you would send the recipient the
txo_id
txo_index
andconfirmation
for each txo you wish to have them validate.
Receiver Validates the TXO Confirmation
For each of the confirmations generated in the previous step, call
validate_confirmation
using theaccount_id
of receiving account.
If all is successful, you should have gotten a response with a result of "validated": true
Last updated
Was this helpful?