Viewing your ETH transaction on Etherscan

Sending or receiving a transaction on the ethereum network from your Casa app broadcasts a transaction to the blockchain, which is recorded and viewable using third-party tools like Etherscan If you are used to simple transactions from one externally owned address (EOA) to another, or viewing transactions on other blockchains, these transactions might look different than you expect.

 

Sending from ETH Pay

ETH Pay is a single-key EOA, so these transactions will look similar to transactions from simple addresses on other blockchains.

A transaction from a Casa ETH Pay wallet, visible on Etherscan.

  1. From: The single-key address from the Pay wallet that sent the transaction.
  2. To: The receiving address entered in the app when the transaction was sent.
  3. Value: The amount of ether entered in the app when the transaction was sent.
  4. Transaction Fee: The amount of ether the Pay wallet paid to send the transaction.
  5. Gas Price: The price of gas at the time the transaction was sent.

Deploying a vault contract

Creating contract addresses on the ETH network is a type of "transaction," and is recorded on the blockchain. Creating a vault in your Casa app deploys the vault contract and creates your vault's receiving address.

This transaction is not visible in your Casa app, but if you go to your vault's contract address in Etherscan, you can view it by clicking "More Info" and then clicking the link after "at txn."

An example contract deployment transaction on Etherscan: https://etherscan.io/address/0xdda3c1944149ca4a81a5d4f29192ba45ba84b435

The fee to create the vault is paid either by Casa or by your Pay wallet, depending on which type of relay you have selected.

 

Sending from a vault

When you send from a vault, your vault has to run the contract code to make sure it has the necessary signatures for the transaction.These transactions look different than simple/basic sends, and we’ll walk through that now.

  1. From: This address belongs to the relay wallet (either Casa or your Pay wallet). The relay address is what "calls" the contract and causes it to run to execute the transaction. This is not your vault's address. Your vault's address will appear on a later "From" section.
  2. To: This is your vault's contract address, not the recipient's address. Think of it like the "From:" relay address above is calling out "To:" your vault's address, to start the code running.
  3. First transfer: This is where to verify the amount and address of your transaction. It shows "Transfer [amount of ETH] from [your address] to [the recipient's address]." Second transfer: This transaction is a refund  your vault pays to your relay for the fee the relay paid to execute the transaction.  It shows "Transfer [ETH fee] from [your address] to [relay address from #1]."
  4. Value: This will normally be 0 ETH, because the relay address is not actually sending any ETH to your address. It is paying the fee to execute the transaction by running the contract codeto cause the contract at your address to run, but it is not actually sending any ETH to your address.
  5. Transaction Fee: This is the fee the relay paid to cause the contract code to run so your vault could send a transaction. This is what is being reimbursed from #4 above.
  6. Gas Price: This is the gas price, in GWEI, that was used to calculate the transaction fee.

Key rotation

When you perform a key rotation for your ETH vault in your Casa app, the contract code in your vault runs two operations, one to remove the key (or "owner," in the contract terms) that you are replacing, and a second transaction one to add the new key.

The ETH network considers updates to contracts "transactions," and they incur a fee just like sending a transaction with multiple signatures from a vault's contract address does.

As you can see, this looks very similar to to the screenshot for sending from a vault! The main difference is that there is only one transfer of funds in the "To:" section (see #3), because your vault is only reimbursing the relay address (in the "From:" field) for the transaction fee. There is no separate transaction that sends ETH to a recipient.

If you click the "Logs" tab at the top of this image, you can view the internal logs generated when the transaction was updated.

ethKey rotation logs

  1. RemovedOwner: This is the key that was removed from the vault.
  2. AddedOwner: This is the new key added to the vault.
  3. ExecutionSuccess: This confirms the update succeeded. The "payment" line refers to the reimbursement being sent back to the relay for the update. It should match #3 in the previous image.

Using Etherscan, you can confirm that everything your Casa app tells you it is doing is really what is happening!