# Transaction Analysis `TLDR;` This is a call from SCW, where the SCW does two transactions. The first being approiving the USDC & then second is calling Socket's registery to bridge the token using the function `outboundTransferTo`. **Transaction Flow:** 1. User op was forwarded using Stackup bundler 2. Every userOp call starts with EntryPoint - [0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789](https://etherscan.io/address/0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789#code) 3. Smart Contract wallet address - [0x3a1ee02cf59821e4d8264a6ddfae970a99da25d5](https://etherscan.io/address/0x3a1ee02cf59821e4d8264a6ddfae970a99da25d5#code) 4. SCW looks like an implementation of https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885/20 5. This is mostly popularised by zeroDev protocol - https://mirror.xyz/konradkopp.eth/7Q3TrMFgx2VbZRKa7UEaisIMjimpMABiqGYo00T9egA Codebase - https://github.com/zerodevapp/kernel/blob/main/src/Kernel.sol Telegram group - https://t.me/+KfB9WuhKDgk5YzIx `NOTE - the above code base is of v0.0.2 the transaction though looks like from v0.0.1 of the kernel` Codebase of v0.0.1 - https://github.com/zerodevapp/kernel/blob/ff5a176d3dd7db369c611fd1327aa2591535bdab/src/Kernel.sol 6. This call also uses a paymaster by Stackup - [0xe93eca6595fe94091dc1af46aac2a8b5d7990770](https://etherscan.io/address/0xe93eca6595fe94091dc1af46aac2a8b5d7990770#code). Paymasters are used to sponsor gas so that the SCW doesn't need to pay gas. To know more about stackup's paymaster https://docs.stackup.sh/docs/getting-started 7. Actual transaction call data - `0x00a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b300000000000000000000000061603bbb585b88ca34ae5acd5a094e4228c4eb4800000000000000000000000000000000000000000000000000000000017d5af100c30141b657f4216252dc59af2e7cdb9d8792e1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c4a44bbb1500000000000000000000000000000000000000000000000000000000000000200000000000000000000000003a1ee02cf59821e4d8264a6ddfae970a99da25d5000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000017d5af100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000000001` 8. The above calldata includes the array of transaction, the transaction includes two tasks: **8.1.** First transaction is Approval transaction. It approves USCDC tokens, for contract [0x61603bbb585b88ca34ae5acd5a094e4228c4eb48](https://etherscan.io/address/0x61603bbb585b88ca34ae5acd5a094e4228c4eb48#code) to spend `24992497` amount of tokens **8.2.** Second call is to contract [0xc30141b657f4216252dc59af2e7cdb9d8792e1b0](https://etherscan.io/address/0xc30141b657f4216252dc59af2e7cdb9d8792e1b0#code), this I think is socket registery. The function call is `outboundTransferTo` with the following inputs: ![](https://hackmd.io/_uploads/r1ITmWML2.png)