NewWallets, tokens, NFTs, and vaults are live. RPC nodes coming soon.

See the stack →

Swift / iOS SDK

Native iOS. Secure Enclave-backed keys. SwiftUI and UIKit ready. First-party iOS apps that need embedded wallets and platform-key access on device.

FabricKit is the native iOS package for FabricBloc. Wallet keys live in the Secure Enclave when available. No web view, no React Native bridge, no custom keychain to maintain.

Install

In Xcode, add via Swift Package Manager:

https://github.com/bloclabshq/fabrickit-swift

Or in Package.swift:

.package(url: "https://github.com/bloclabshq/fabrickit-swift", from: "2.4.0")

Requirements

  • iOS 16+, macOS 13+, watchOS 9+
  • Swift 5.9+
  • Xcode 15+

Highlights

Secure Enclave keys

MPC key shares live in the Secure Enclave when available. Never leaves the device.

SwiftUI and UIKit

First-party views for sign-in, confirmation, and asset display in both UI frameworks.

Combine and async/await

Both reactive Combine publishers and modern async/await on every request.

Examples

Initialize

// FabricBlocClient.swift
import FabricKit

guard let apiKey = ProcessInfo.processInfo.environment["FB_KEY"] else {
  fatalError("FB_KEY environment variable is required")
}
let fb = FabricBloc(apiKey: apiKey)

Create a wallet

// WalletService.swift
let wallet = try await fb.wallets.create(
  userId: "user_123",
  chains: [.base, .polygon]
)

// Hardware-backed. Never leaves Secure Enclave.
try await wallet.send(to: recipient, value: amount)

SwiftUI sign-in

// ContentView.swift
import SwiftUI
import FabricKit

struct ContentView: View {
  var body: some View {
    FabricBlocSignIn(fb: fb)
      .onAuthenticated { session in
        // session.wallet is a fully typed Wallet.
      }
  }
}

FAQ

Is this a wrapper around the web SDK?

No. FabricKit is a first-party Swift package. It is not a web view, not a React Native bridge, and not a wrapper around the JavaScript SDK.

How does the Secure Enclave integration work?

When the device supports the Secure Enclave (all modern iPhones, iPads, and Macs), MPC key shares are bound to the enclave via SecAccessControl. Operations that need the key prompt for biometric authentication.

Does it support Mac Catalyst?

Yes. The same package works for Mac Catalyst targets and native macOS targets running macOS 13+.