The Dynamic Swift SDK provides a comprehensive solution for wallet interactions, authentication, and blockchain integrations in iOS applications.

Features

The Dynamic Swift SDK offers a complete suite of features for building Web3-enabled iOS applications:

🔐 Authentication

  • Email OTP Authentication - Secure email-based one-time password verification
  • SMS OTP Authentication - Phone number verification via SMS
  • Social Authentication - Seamless login with Apple, Google, Discord, and more

💰 Wallet Management

  • Embedded Wallets - Create and manage wallets directly within your app
  • Multi-Asset Support - Handle multiple cryptocurrencies and tokens
  • Transaction Management - Send, receive, and track blockchain transactions

⛓️ Blockchain Integration

  • Ethereum Support - Full Ethereum blockchain integration
  • Custom Networks - Support for custom RPC endpoints and networks
  • Smart Contract Interactions - Deploy and interact with smart contracts
  • Gas Optimization - Intelligent gas estimation and management

Architecture Overview

The Dynamic Swift SDK is built with a modular architecture that provides:

  • Type Safety - Full Swift type safety with comprehensive error handling
  • Async/Await Support - Modern Swift concurrency for smooth user experiences
  • Memory Management - Efficient memory usage with automatic cleanup
  • Network Layer - Robust networking with retry logic and offline support

Quick Start

import DynamicSwiftSDK

let config = DynamicClientConfig(
    environmentId: "<your env id>"
)

let dynamicClient = createDynamicClient(config: config)

// Authenticate a user
let otpVerification: OTPVerification = try await sendEmailOtp(
    client: dynamicClient,
    email: userEmail
)

let authenticatedUser: SdkUser = try await verifyOtp(
    otpVerification: otpVerification,
    verificationToken: otpCode
)

// Create user's wallet
let accountAddress = try await createWalletAccount(client: dynamicClient)

Documentation

Getting Started

Wallet & Blockchain