1. Submission
Transactions are submitted via standard JSON-RPC methods. OpenGDP supports a wide range of transaction types to ensure compatibility while enabling new features:- Standard EVM: Legacy (
0x00), EIP-2930 (0x01), EIP-1559 (0x02), and EIP-7702 (0x04). - OpenGDP Specific:
- AA Transaction (
0x76): Enables native Account Abstraction features like batch calls and sponsored fees. - Encrypted Transaction (
0x4a): Allows for encrypted calldata, protecting transaction intent until inclusion.
- AA Transaction (
EIP-4844 (Blob transactions) is explicitly rejected to maintain a streamlined state model focused on payments.
2. Mempool Validation
Before a transaction enters the mempool, it undergoes rigorous checks:- Value Check: Native value transfer (
value != 0) is rejected. All value transfers must happen via OGDP-20 tokens. - Fee Token: The system verifies that the chosen fee token is a valid, unpaused, currency-denominated OGDP-20 token.
- Solvency: The fee payer must have a sufficient balance to cover the maximum possible gas cost.
- Nonce: Validity is checked against the 2D nonce system or the expiring nonce window (max 30s).
3. Dedicated Blockspace Action Classification
This is a critical step for the “Dedicated Blockspace” feature. The protocol inspects the destination address:- Dedicated Blockspace Action: If the address starts with the OGDP-20 prefix (
0x20C0...), the transaction is classified as a payment. - Non-Payment: All other transactions.
For Account Abstraction (AA) transactions, every call in the batch must match this prefix to be classified as a payment.
4. Fee Token Resolution
Since users can pay in any supported stablecoin, the protocol must determine which token to charge. It resolves this in a deterministic order:- Explicit
feeTokenfield (if provided). - Immediate
setUserTokencall (if the user is updating their preference in this tx). - Stored user preference (from on-chain state).
- Inferred from the contract being called (e.g., a
transfercall on USDC implies USDC fees). - Inferred from orderbook swap inputs.
5. Execution
Execution follows a “Pre-charge / Settlement” model:- Pre-charge: The maximum possible fee is deducted from the user’s balance.
- Execution: The transaction runs.
- Settlement: The actual gas cost is calculated. Unused gas is refunded. If the validator prefers a different token than the user paid, an atomic swap is executed via the Fee AMM.