Sending Transactions

A unique advantage of Facet is that users post Facet transactions directly on Ethereum, so you do not need to "bridge in" value before using Facet, and you do not have to change your wallet's connection away from Ethereum.

Metamask's Network Selector

Basic Transactions

Applications (Apps) on Facet abstract the complexity involved with operating on the rollup by constructing regular Ethereum "envelope" transactions for users to sign. Here's the process:

1

User Connects to an App

User connects their preferred Ethereum wallet to a Facet App in the same way they would with any Ethereum App.

2

App Constructs a Transaction

When the user initiates a transaction (e.g. a swap on a DEX), the App creates a regular Ethereum transaction for the user to sign. This transaction is configured to send "TO" the Facet inbox address:

0x00000000000000000000000000000000000face7
3

App Encodes the Facet Payload

The App encodes the user's Facet intent as a "payload" within the transaction's calldata (e.g., swap X amount of wETH for wUSDC). The Dapp presents this transaction for the user to review/sign.

Note: The plain English payload shown above is a simplified representation. The actual payload will be encoded in hexadecimal format, which is necessary for it to be processed on the blockchain. Learn more in Facet Transaction Structure.

4

User Signs the Transaction

The transaction is approved/signed by the user via the wallet interface, the same user experience as an Ethereum App. Since this transaction is sent on Ethereum, the user pays gas using L1 ether. Gas fees will be minimal, because these are wallet-to-wallet transactions (to Facet Inbox Address) that do not involve gas-intensive L1 smart contracts.

5

Transaction Execution

Upon signing, the transaction is sent to the Ethereum network. Once the transaction is secured in an L1 block through Ethereum's native consensus, the Facet payload is processed by Facet nodes, updating Facet state accordingly.

6

Apps Read State

Apps (in this case, a DEX) query the latest state from a Facet node, reflecting the user's reduced wETH balance and increased wUSDC balance.

Last updated