Sending Transactions
Matrix transactions are sent directly on BNB Chain, with no network switching or bridging required. Users simply submit a normal BNB transaction (with calldata) to the Inbox EOA, and Matrix-node automatically interprets it and executes it on Matrix.

Metamask's Network Selector
Basic Transactions
Matrix applications abstract away the complexity of interacting with the rollup by constructing standard BNB L1 transactions that contain Matrix payloads in calldata. Here is the end-to-end flow:
1. User Connects to an App
The user connects their preferred BNB wallet to a Matrix application, exactly as they would with any BNB Chain DApp.
There is no network switching — the user stays connected to BNB Chain.
2. App Constructs a Transaction
When the user initiates an action inside the app (e.g., swapping assets on a DEX, minting an NFT, executing a contract call), the application generates a normal BNB L1 transaction for the user to sign.
This transaction’s to field is set to the Matrix Inbox (an uncontrolled EOA):
0x00000000000000000000000000000000000bbbb13. App Encodes the Matrix Payload
The application encodes the user's intent (e.g., swap, mint, call) as a Matrix payload and places it inside the transaction’s data field.
Example structure:
BNB “Envelope” TX
├─ to: Matrix Inbox Address
├─ value: 0
├─ gas: user pays BNB gas
├─ nonce: user wallet nonce
└─ data: Matrix Payload (encoded)4. User Signs the Transaction
The user reviews and approves the transaction in their wallet interface. Because this is a regular BNB L1 transaction:
The user pays BNB gas
The UX is identical to using any BNB DApp
No special wallet plugin is required
No RPC switching is needed
5. Transaction Execution
After signing, the transaction is broadcast to the BNB network. Once the transaction is included in a BNB block:
Matrix-node reads the block
Finds all Inbox-bound transactions
Extracts and interprets the calldata
Executes the corresponding Matrix action and updates L2 state
BNB envelope transactions must set:
value = 0However, the Matrix payload itself may specify L2-level asset transfers (e.g., WGAS).
6. Apps Read State
Applications (for example, your Matrix DEX) then query Matrix-geth for the latest L2 state, including user balances, execution results, or updated contract state.
To the end user, the experience feels identical to using a standard BNB-based application—just with Matrix providing the execution scalability underneath.
Last updated