Facet Docs
  • 1. Introduction
    • Overview of Facet Protocol
    • What is Layer 1+?
    • The Based Sovereign Rollup
  • 2. Getting Started
    • Connecting a Wallet
    • Sending Transactions
    • Bridging In (and Out)
    • What about Gas?
    • Facet Apps
  • 3. Technical Details
    • Introduction
    • Facet RPC & Explorer
    • Genesis Contracts
    • Facet Transactions
      • From Calldata
      • From Event Logs
    • Facet Typescript SDK
    • Facet Sol (Foundry)
    • Chain State Derivation
    • Running a Facet Node
    • Bridging Assets
    • Building an Optimistic Bridge on Facet
    • Basic Transaction Flow
    • Facet's Gas Mechanism
      • FCT Issuance Calculation
      • FCT Gas Fee Calculation
    • Security Audits
  • 4. Community & Support
    • FAQs
    • Comparison with Other Rollups
    • Micro-Grants
    • Community Resources
    • Brand Kit
Powered by GitBook
On this page
  1. 2. Getting Started

Sending Transactions

PreviousConnecting a WalletNextBridging In (and Out)

Last updated 6 months ago

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:

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.

Metamask's Network Selector