R3E Network has published v2.2.0 of NeoSwift, a Swift SDK for building iOS and macOS applications on the Neo N3 blockchain. Released on Feb. 13, the security-focused update addresses silent error handling, force unwrapping issues, and performance optimizations while adding compatibility with Neo N3 v3.9.1.
NeoSwift is a Swift implementation of the Neo blockchain SDK for Apple platforms, providing iOS and macOS developers with tools to build wallets, dApps, and other blockchain applications. Originally developed by Ben Gray (crisogray) through the GrantShares funding program, the project is now maintained by R3E Network.
The project was designed to complement neow3j, the established Java SDK for Neo, by providing a Swift equivalent with a familiar interface while taking advantage of native Swift capabilities and security features.
v2.2.0 release details
The latest release prioritizes production stability with extensive bug fixes across security, performance, and thread safety. According to the release notes, the update includes no breaking changes and requires no migration for existing users.
Security improvements
Version 2.2.0 addresses critical security vulnerabilities related to error handling. The update fixes empty catch blocks in VerificationScript.swift and ECKeyPair.swift that could silently swallow errors, and resolves silent error swallowing in BinaryReader deserialization. These fixes ensure that errors are properly surfaced to developers rather than failing silently.
The release also tackles force unwrapping issues throughout the codebase. Force unwrapping in Swift can cause runtime crashes when optional values are unexpectedly nil. The update addresses these issues in core components including TransactionBuilder, NeoTransaction, SmartContract, Account, and NonFungibleToken classes, replacing unsafe force unwraps with safe optional handling patterns.
Performance and stability
Performance improvements include parallelized wallet balance fetching using Swift’s TaskGroup concurrency feature, and a cache bug fix in the Token class where getTotalSupply, getDecimals, and getSymbol methods now properly cache results. The release also adds the final modifier to core non-inheritable classes for compiler optimization.
Thread safety improvements address concurrency issues in BlockIndexPolling, which now uses the main queue and safe optional handling. Additional nil safety fixes include guard statements added to Response.swift, Request.swift, OptimizedBinaryWriter.swift, NeoNameService.swift, and NNSName.swift.
The update also improves error messages in NeoSwiftError for better debugging, updates the repository URL to r3e-network, and confirms compatibility with Neo N3 v3.9.1.
NeoSwift’s capabilities
NeoSwift provides functionality for iOS and macOS developers building on Neo, including features for cryptography and key management, wallet operations with NEP-6 support and multi-signature accounts, RPC-based blockchain interaction, transaction building and signing, smart contract deployment and invocation, NEP-17 fungible token operations, NEP-11 non-fungible token support, and native contract interfaces including NeoToken, GasToken, and Neo Name Service.
The project is compatible with iOS 13+, macOS 10.15+, tvOS 13+, and watchOS 6+, distributed via Swift Package Manager, and features an API designed to match neow3j for cross-language consistency.
Version 2.1 introduced production-grade security features including secure memory management through SecureBytes and SecureECKeyPair classes that protect sensitive data, constant-time cryptographic operations resistant to timing attacks, test data isolation ensuring test credentials never appear in production builds, and dependency security with version bounds and automated vulnerability scanning.
Development history through GrantShares
NeoSwift was created through the GrantShares program with developer Ben Gray submitting the initial proposal in August 2022, seeking to create a modern iOS SDK for Neo N3 written in Swift 5.
The original proposal noted that an existing iOS SDK (neo-swift from COZ built for Neo Legacy) had fallen into unmaintained status and no longer passed builds with current Swift versions. Gray proposed building a new SDK from scratch using native Swift cryptography and modern distribution via Swift Package Manager.
After community discussion on the initial proposal, Gray submitted a revised proposal that restructured the project into three milestones and adopted the neow3j interface as a standard. The revised approach aimed to provide consistency across Neo SDKs, making documentation and developer experience portable between Java and Swift implementations.
The three-stage development plan included: Stage 1 covering the core module foundation with cryptographic functionality (funded for 820 NEO, completed October 2022), Stage 2 adding core module interfaces for RPC API interaction and JSON response parsing (funded for 1,500 NEO, completed January 2023), and Stage 3 implementing the contract module with higher-level abstractions for tokens and smart contracts (funded for 440 NEO, completed July 2023).
Gray delivered three pre-release versions between January and November 2023: v0.1.0 included key generation, BIP-32 HD wallets, message signing, NEP-2 encryption, and script building; v0.2.0 added RPC API support, transaction building, wallet management, and contract interaction including native contracts; and v0.2.1 refined stack item handling.
R3E Network’s Swift development for Neo
R3E Network’s maintenance of NeoSwift aligns with the organization’s broader efforts in Rust development for Neo, including neo-rs (a Rust implementation of the Neo N3 blockchain node) and NeoRust (a Rust SDK for building Neo applications). The repository was forked to the r3e-network organization in August 2025, and development has continued with the production-ready v2.x series featuring security hardening and performance optimization.
R3E Network founder and Neo core developer Jimmy Liao published v2.2.0, continuing the project’s evolution toward production readiness. The SDK now includes security documentation, deployment guides, and a complete Neo SDK interface specification for implementing SDKs in other languages.
Availability
NeoSwift v2.2.0 is available on GitHub under the MIT License. The project includes Swift Package Manager support, documentation with usage examples matching neow3j patterns, security and deployment guides, integration and security test suites, and multi-platform support for iOS, macOS, tvOS, and watchOS.
The project repository can be found at the link below:
https://github.com/r3e-network/NeoSwift





About The Author: Dean Jeffs
Dean is a digital project manager who has worked extensively with start ups and agencies in the marketing space. Fascinated by the potential applications of blockchain technology, Dean has a passion for realising the new smart economy.
More posts by Dean Jeffs