https://github.com/web3auth/web3auth-swift-sdk
https://github.com/web3auth/web3auth-swift-sdk
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/web3auth/web3auth-swift-sdk
- Owner: Web3Auth
- License: mit
- Created: 2021-04-26T08:08:14.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2025-08-08T08:24:25.000Z (10 months ago)
- Last Synced: 2025-08-08T10:16:46.439Z (10 months ago)
- Language: Swift
- Size: 1.21 MB
- Stars: 20
- Watchers: 5
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Web3Auth iOS SDK
Web3Auth is where passwordless auth meets non-custodial key infrastructure for Web3 apps and wallets. By aggregating OAuth (Google, Twitter, Discord) logins, different wallets and innovative Multi Party Computation (MPC) - Web3Auth provides a seamless login experience to every user on your application.
## 📖 Documentation
Checkout the official [Web3Auth Documentation](https://web3auth.io/docs) and [SDK Reference](https://web3auth.io/docs/sdk/ios/) to get started!
## 💡 Features
- Plug and Play, OAuth based Web3 Authentication Service
- Fully decentralized, non-custodial key infrastructure
- End to end Whitelabelable solution
- Threshold Cryptography based Key Reconstruction
- Multi Factor Authentication Setup & Recovery (Includes password, backup phrase, device factor editing/deletion etc)
- Support for WebAuthn & Passwordless Login
- Support for connecting to multiple wallets
- DApp Active Session Management
...and a lot more
## ⏪ Requirements
- iOS 14
- Xcode 12.x+
- Swift 5.x
## ⚡ Installation
### SPM
If you are using the Swift Package Manager, open the following menu item in Xcode:
**File > Swift Packages > Add Package Dependency...**
In the Choose Package Repository prompt add this url:
```
https://github.com/web3auth/web3auth-swift-sdk
```
### Cocoapods
If you are using cocoapods , open the pod file and add
```
pod 'Web3Auth', '9.0.0'
```
## 🌟 Configuration
Checkout [SDK Reference](https://web3auth.io/docs/sdk/pnp/ios/install#configure-redirection) to configure the iOS App.
## Getting State
```swift
import Web3Auth
let web3auth = try Web3Auth(W3AInitParams(
// Get your Web3Auth Client Id from dashboard.web3auth.io
clientId: "YOUR_WEB3AUTH_CLIENT_ID",
network: .sapphire_mainnet,
redirectUrl: "bundleId://auth"
))
// Login
let result = try await web3Auth.login(W3ALoginParams(loginProvider: .GOOGLE))
// Logout
try await web3auth.logout()
```
## 🩹 Examples
Checkout the examples for your preferred blockchain and platform in our [examples](https://github.com/Web3Auth/web3auth-pnp-examples/tree/main/ios)
## 🌐 Demo
Checkout the [Web3Auth Demo](https://demo-app.web3auth.io/) to see how Web3Auth can be used in an application.
Have a look at our [Web3Auth PnP iOS Quick Start](https://github.com/Web3Auth/web3auth-pnp-examples/tree/main/ios/ios-quick-start) to help you quickly integrate a basic instance of Web3Auth Plug and Play in your iOS app.
Further checkout the [demo folder](https://github.com/Web3Auth/web3auth-swift-sdk/tree/master/Web3authSwiftSdkDemo) within this repository, which contains a sample app.
## 💬 Troubleshooting and Support
- Have a look at our [Community Portal](https://community.web3auth.io/) to see if anyone has any questions or issues you might be having. Feel free to create new topics and we'll help you out as soon as possible.
- Checkout our [Troubleshooting Documentation Page](https://web3auth.io/docs/troubleshooting) to know the common issues and solutions.
- For Priority Support, please have a look at our [Pricing Page](https://web3auth.io/pricing.html) for the plan that suits your needs.