Setup
Step-by-step guide for integrating the Para Swift SDK into your iOS application
The Para Swift SDK enables you to integrate secure wallet features including creation, passkey-based authentication, and transaction signing into your iOS applications. This guide covers all necessary steps from installation to implementing authentication flows.
Prerequisites
To use Para, you need an API key. This key authenticates your requests to Para services and is essential for integration.
Donβt have an API key yet? Request access to the Developer Portal to create API keys, manage billing, teams, and more.
Installation
Add the Para Swift SDK Package
- In your Xcode project, go to File > Add Packages or (in your target) Frameworks, Libraries, and Embedded Content and click +.
- Enter
https://github.com/getpara/swift-sdk
- Select Up to Next Major Version ensuring
0.0.1 < 1.0.0
- Add the package to your app target and click Add Package.
Configure Associated Domains for Passkeys
To enable passkeys on iOS, you need to configure Associated Domains:
- In Xcode, go to Signing & Capabilities for your app target
- Click + Capability and add Associated Domains
- Add the following entries:
- Provide your Team ID + Bundle ID to Para, e.g.
A1B2C3D4E5.com.example.yourapp
Without properly registering your domain with Para, passkey authentication flows will fail. Contact Para support if you encounter issues with passkey registration.
Beta Testing Credentials In the BETA
Environment, you can use any email ending in @test.getpara.com
(like
dev@test.getpara.com) or US phone numbers (+1) in the format (area code)-555-xxxx
(like (425)-555-1234). Any OTP
code will work for verification with these test credentials. These credentials are for beta testing only. You can
delete test users anytime in the beta developer console to free up user slots.
Initialization
First, you need to initialize the Para manager in your app. Below is an example of initializing the SDK in a SwiftUI application:
Authentication
Para supports email and phone authentication methods. Each method uses a secure, passkey-first approach for seamless biometric logins via Face ID or Touch ID.
Email authentication verifies users via a one-time password (OTP) sent to their email address and then sets up a biometric-enabled passkey for future logins.
Check User Existence
First, check if the user already exists in the Para system:
For Existing Users: Login with Passkey
If the user exists, trigger the passkey login flow:
For New Users: Create Account
If the user does not exist, initiate the account creation process:
Generate Passkey and Create Wallet
After verification, generate a passkey and create a wallet:
Email authentication verifies users via a one-time password (OTP) sent to their email address and then sets up a biometric-enabled passkey for future logins.
Check User Existence
First, check if the user already exists in the Para system:
For Existing Users: Login with Passkey
If the user exists, trigger the passkey login flow:
For New Users: Create Account
If the user does not exist, initiate the account creation process:
Generate Passkey and Create Wallet
After verification, generate a passkey and create a wallet:
Phone authentication verifies users via SMS OTP and sets up a biometric-enabled passkey for future logins.
Check User Existence
First, check if the user already exists by phone number:
For Existing Users: Login with Passkey
If the user exists, trigger the passkey login flow:
For New Users: Create Account
If the user does not exist, initiate the account creation process:
Generate Passkey and Create Wallet
After verification, generate a passkey and create a wallet:
Subsequent Logins
After initial setup, users can log in using their passkey, which triggers biometric authentication:
This will prompt the user for Face ID or Touch ID verification before granting access to their wallets.
Checking Authentication Status
You can check if a user is already authenticated:
Sign out
To sign out a user and clear their session:
Basic Wallet Operations
After successful authentication, you can perform wallet operations:
For detailed transaction signing with specific blockchains (EVM, Solana, Cosmos), please refer to the respective blockchain integration guides.
Example
For a complete implementation example, check out our Swift SDK example app:
Next Steps
After integrating Para into your Flutter app, you can explore other features and integrations to enhance your Para experience.