Practical overview
When it fits
Use Web3E when Ethereum interaction needs to run from Arduino-framework firmware, including connected-device prototypes that make contract calls or check token-based permissions.
Who it is for
- Developers building Arduino-based embedded applications that need Ethereum connectivity.
- Teams prototyping connected devices with smart-contract calls or token-based permissions.
Documented uses
- Connect embedded firmware to an Ethereum or supported EVM node.
- Send Ethereum transactions using EIP-155.
- Call smart-contract functions and handle encoded results.
- Use a wallet signature and token ownership check as part of an embedded-device permission flow.
Requirements & limits
The repository is public and lists an MIT license. The README recommends PlatformIO and says Web3E is available as a PlatformIO library.
- The library targets Arduino-framework embedded devices; the README identifies ESP32 as its main test target and says ESP8266 is working.
- A PlatformIO installation is recommended, and some ESP32 projects may need deep library dependency lookup.
- Developers can select listed API-key-free node endpoints or configure an Infura key for supported networks.
- The documented TokenScript permission flow requires a TokenScript-enabled phone and a user signature.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add Web3E to an ESP32 PlatformIO project
Configure a PlatformIO Arduino project to include the Web3E library.
Before you start
- PlatformIO
- An ESP32 development project using the Arduino framework
Steps
Create a new PlatformIO project.
Set the environment to an ESP32 board and the Arduino framework in platformio.ini.
Add Web3E under lib_deps; use lib_ldf_mode = deep if needed to locate ESP32 libraries such as EEPROM.h.
Expected outcome
The project configuration declares Web3E as a library dependency.
Guide limitations
- The README notes that projects with many other libraries may need board_build.partitions = no_ota.csv to fit firmware.
Configure a Web3E node connection
Choose a documented network endpoint for a Web3 object in an Arduino sketch.
Before you start
- A Web3E Arduino project
- A network identifier supported by Web3E
Steps
Select a network identifier, such as SEPOLIA_ID or MAINNET_ID.
Pass that identifier when creating the Web3 object in the sketch.
If using Infura where supported, enable the relevant networks in its dashboard and configure the Infura key in Web3.h.
Expected outcome
The sketch is configured to use the selected Web3E node endpoint.
Guide limitations
- Infura use requires a key and enabling the relevant networks in its dashboard; the README also describes free connections.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- AlphaWallet/Web3E · Official homepage title · retained in its source language

