OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Web3Swift

Web3Swift is an open-source Swift library for iOS and macOS applications that interact with Ethereum through remote-node JSON-RPC. It provides ABI parsing and decoding, smart-contract reads and writes, and local Geth-compatible keystore management.

Independent OpenViST project profile, based on linked sources.

Web3Swift — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Web3Swift when Ethereum interaction needs to be implemented within a Swift iOS or macOS application, rather than provided as a finished consumer wallet or hosted node.

Who it is for

  • Swift developers building iOS or macOS applications that need Ethereum network interactions.
  • Teams integrating contract reads, writes, ABI handling or transaction workflows into a native app.

Documented uses

  • Send JSON-RPC requests to a remote Ethereum node.
  • Parse and decode contract ABIs and call contract read methods.
  • Prepare smart-contract writes, deployments and Ether transfers.
  • Manage local Geth-compatible keystore data.
Before you choose

Requirements & limits

The repository is public and specifies an Apache-2.0 license. It documents integration through Swift Package Manager and CocoaPods.

  • The stated platform requirements are iOS 13 or macOS 10.15, Xcode 12.5 and Swift 5.5.
  • Swift Package Manager is the recommended integration route; the README warns that CocoaPods may delay updates and bug fixes.
  • The library communicates with remote Ethereum nodes through JSON-RPC, so the app must account for its node connection.
  • The README says project documentation is under construction and points developers to examples and support channels.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Add Web3Swift to an iOS or macOS project with Swift Package Manager

Declare Web3Swift as a dependency in a Swift package.

Before you start

  • A Swift package with a Package.swift manifest.
  • The repository lists iOS 13 or macOS 10.15, Xcode 12.5 and Swift 5.5 as requirements.

Steps

  1. Add the Web3Swift GitHub repository as a package dependency in Package.swift, using the documented from-version constraint of 3.0.0.

  2. Import web3swift and Web3Core in the source file where the library is used.

Expected outcome

The project manifest declares Web3Swift as a dependency and the README shows the imports used in its examples.

Guide limitations

  • These steps cover dependency declaration and imports, not a complete build or a working Ethereum connection.
  • The README recommends Swift Package Manager; CocoaPods is documented but may delay updates and bug fixes.
Source-based practical guide

Prepare an Ethereum contract read operation

Follow the README’s example to create a contract read operation for the ERC-20 name method.

Before you start

  • A Swift project with Web3Swift available.
  • A Web3 instance and a contract address available to the app.

Steps

  1. Create a contract using Web3.Utils.erc20ABI and the contract address.

  2. Create a read operation for the name method.

  3. Set the transaction’s from address.

  4. Call the contract method asynchronously and handle the returned response.

Expected outcome

The example constructs and calls a contract read operation for the name method.

Guide limitations

  • The example assumes a contract address and Ethereum address; it does not document a complete app workflow.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
web3swift-team/web3swift · Official homepage title · retained in its source language