Stable is fully EVM-compatible, so most Ethereum tools, libraries, and contract patterns work without modification. The sections below walk through what stays the same and what changes when you move from Ethereum to Stable.Documentation Index
Fetch the complete documentation index at: https://docs.stable.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What stays the same
Stable maintains full compatibility with the Ethereum development ecosystem:| Area | Compatibility |
|---|---|
| Languages | Solidity, Vyper |
| Tooling | Hardhat, Foundry |
| Libraries | ethers.js, web3.js |
| Contract patterns | All standard EVM conventions (ERC-20, ERC-721, ERC-1155, proxies, etc.) |
| RPC interface | Most eth_* methods supported (eth_call, eth_sendRawTransaction, eth_getBalance, eth_getLogs, eth_estimateGas, etc.). For the full list, see JSON-RPC API |
What is different
Four behaviors differ from Ethereum.1. Single-slot finality
Ethereum requires multiple block confirmations before a transaction is considered final. Stable provides single-slot finality: a transaction is final once included in a block. For developers, this means:- Once a transaction appears in a confirmed block, its state changes are final and irreversible.
- Applications can safely rely on block inclusion as confirmation of settlement.
- Verify transaction success via RPC or emitted events before proceeding with dependent actions (e.g., unlocks, redemptions).
- Implement retry and reconciliation logic for automation and batch operations to handle transient submission or RPC errors.
2. Gas token: USDT0
On Stable, transaction fees are paid in USDT0, not a volatile native token. This provides USDT-denominated, predictable low gas costs.- Users need USDT0 in their wallet to submit transactions.
- The
valuefield in transactions still works for sending USDT0, similar to how ETH is sent on Ethereum. - See USDT as gas for details.
3. No priority tips
Stable uses a single-component gas model. There is no tip-based transaction ordering.maxPriorityFeePerGasis ignored (always 0).- Transaction ordering is not influenced by fee bidding.
- Wallets should hide or disable the priority tip input field.
- See Gas pricing for details.
4. USDT0 dual-role behavior
USDT0 functions as both the native gas token and an ERC-20 token. This introduces behavioral differences around balance semantics, allowance safety, and certain opcode assumptions. For the full details, see USDT0 behavior on Stable.Quick comparison
| Parameter | Stable | Ethereum |
|---|---|---|
| Gas token | USDT0 | ETH |
| Finality | Single-slot | Multi-block confirmations |
| Block time | ~0.7 seconds | ~12 seconds |
Priority tip (maxPriorityFeePerGas) | Ignored (always 0) | Used for ordering |
| EIP-1559 transaction format | Supported | Supported |
| EVM compatibility | Full | N/A |
Next recommended
USDT as gas
Understand the asset model that replaces ETH for gas.
Gas pricing
Review the single-component fee model in detail.
USDT0 behavior on Stable
Audit contracts for dual-role asset semantics, allowance safety, and
EXTCODEHASH behavior.
