Asset Changes

Simulates a transaction and returns a list of asset changes.

How does it work?

  1. You give us a transaction (unsigned transaction object) 📦
  2. We simulate your transaction on our blazing fast infra ⚡
  3. We return a complete list of asset changes (including tokens and NFTs) 💸

What do you get back?

We currently return the following info:

  • gas used
  • change type (approval, transfer)
  • asset type (native, erc20, erc721, erc1155, special nft)
  • sender / destination
  • amount
  • additional metadata (logo, token id, contract address)

Examples

The examples below are for Eth Mainnet and Polygon Mainnet. Simulation also works on Arbitrum and testnets - more examples coming soon!

Ethereum

ETH - Transfer

0xbe0eb53f46cd790cd13851d5eff43d12404d33e8 sending 1 ETH to 0xc02aaa39b223fe8d050e5c4f27ead9083c756cc2.

To send a normal transfer, remove the data field from the transaction object in the request. We will add support for data: " " and data: "0x" soon.

1{
2 "from": "0xBE0eB53F46cd790Cd13851d5EFf43D12404d33E8",
3 "to": "0xc02aaa39b223fe8d050e5c4f27ead9083c756cc2",
4 "value": "0xDE0B6B3A7640000"
5}

ERC20 - Transfer

vitalik.eth (0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045) sending 1 USDC to demo.eth (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48).

1{
2 "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
3 "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
4 "value": "0x0",
5 "data": "0xa9059cbb000000000000000000000000fc43f5f9dd45258b3aff31bdbe6561d97e8b71de00000000000000000000000000000000000000000000000000000000000f4240"
6 }

WETH - Wrap

0xBE0eB53F46cd790Cd13851d5EFf43D12404d33E8 depositing 1 ETH and getting 1 WETH back.

1{
2 "from": "0xBE0eB53F46cd790Cd13851d5EFf43D12404d33E8",
3 "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
4 "data": "0xd0e30db0",
5 "value": "0xDE0B6B3A7640000"
6}

WETH - Unwrap

0x2e95E1cD077f29733C65D885Ce7AFE278d0726A6 withdrawing 1 ETH (1 WETH sent, 1 ETH returned).

1{
2 "from": "0x2e95E1cD077f29733C65D885Ce7AFE278d0726A6",
3 "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
4 "value": "0x0",
5 "data": "0x2e1a7d4d0000000000000000000000000000000000000000000000000de0b6b3a7640000"
6}

Polygon

MATIC - Transfer

0xe7804c37c13166ff0b37f5ae0bb07a3aebb6e245 sending 5 MATIC to 0x0d500b1d8e8ef31e21c99e1db9a6444d3adf1270.

To send a normal transfer, remove the data field from the transaction object in the request. We will add support for data: " " and data: "0x" soon.

1{
2 "from": "0xe7804c37c13166fF0b37F5aE0BB07A3aEbb6e245",
3 "to": "0x0d500b1d8e8ef31e21c99e1db9a6444d3adf1270",
4 "value": "0x4563918244F40000"
5}

ERC20 - Transfer

0xf977814e90da44bfa03b6295a0616a897441acec sending 1 USDC to 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174.

1{
2 "from": "0xF977814e90dA44bFA03b6295A0616a897441aceC",
3 "to": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
4 "value": "0x0",
5 "data": "0xa9059cbb000000000000000000000000fc43f5f9dd45258b3aff31bdbe6561d97e8b71de00000000000000000000000000000000000000000000000000000000000f4240"
6}

WMATIC - Wrap

0xe7804c37c13166fF0b37F5aE0BB07A3aEbb6e245 depositing 5 MATIC and getting 5 WMATIC back.

1{
2 "from": "0xe7804c37c13166fF0b37F5aE0BB07A3aEbb6e245",
3 "to": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
4 "data": "0xd0e30db0",
5 "value": "0x4563918244F40000"
6}

WMATIC - Unwrap

0xccc52f64ee0fff73ad7312825ee767ce94d4877a withdrawing 1 MATIC (1 WMATIC sent, 1 MATIC returned).

1{
2 "from": "0xccc52f64ee0fff73ad7312825ee767ce94d4877a",
3 "to": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
4 "value": "0x0",
5 "data": "0x2e1a7d4d0000000000000000000000000000000000000000000000000de0b6b3a7640000"
6}

For a deep dive check out our Asset Changes - Explained guide.