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.

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:
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.
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
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.
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. Fees are lower than calling L1 contracts, but remain sensitive to L1 congestion and the size of the calldata payload sent to the Facet inbox address.
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. The L1 envelope transaction must set ETH value = 0
; the Facet payload may specify an L2 value
(in FCT) that transfers along with the call on Facet.
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