A pure Swift library for signing transactions and interacting with Smart Contracts on the Ethereum network.
Web3.swift is a pure Swift library for interacting with the Ethereum blockchain. It enables developers to sign transactions, call smart contract functions, and read data from Ethereum nodes without writing low-level protocol implementations. It solves the problem of integrating Ethereum functionality into Swift-based applications across Apple platforms and Linux.
Swift developers building iOS, macOS, tvOS, watchOS, or Linux applications that need to interact with the Ethereum blockchain, such as wallet apps, DApps, or blockchain tools.
Developers choose Web3.swift for its native Swift implementation, modular design, and broad platform support. It offers a clean, thread-safe API that simplifies Ethereum interactions while being highly extensible for custom needs.
A pure swift Ethereum Web3 library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Native Swift library ensures seamless integration with iOS, macOS, tvOS, watchOS, and Linux without bridging to other languages.
Core functionality is split into optional SPM products like Web3PromiseKit and Web3ContractABI, allowing developers to include only what they need.
APIs are designed for highly concurrent applications, making it safe to use in multi-threaded environments without additional locking.
Works on all little-endian systems that can compile Swift, Foundation, and Glibc, supporting a wide range from Apple devices to Linux servers.
From version 0.5.0, CocoaPods and Carthage are no longer supported, forcing adoption of Swift Package Manager which may not fit all project setups.
Only implements Infura-supported Ethereum JSON-RPC methods; custom methods require manual implementation with additional code, as noted in the README.
API is subject to breaking changes between minor versions until 1.0.0, posing a risk for production applications that need stability.
Dynamic contract ABI parsing has issues with fallback functions, requiring developers to manually edit JSON files, as admitted in the common errors section.