Skip to main content
Both entry points do the same thing: fetch a token from your backend, build a ChmodKycRequest, present the flow, and handle the outcome.

SwiftUI

There is also an isPresented: variant when you already hold the request:

UIKit

verify suspends until the user finishes the flow and the dismissal completes, so the code after it reads top to bottom.
Cancelling the surrounding task does not dismiss the flow. A verification in progress belongs to the user, not to your task tree.
If you prefer a completion closure, the same flow is available as:
Both are @MainActor, so you can touch UI directly in either.

Fetching the token

The token comes from your backend, over your own authenticated endpoint. Your app never talks to chmod to get one:
Never embed your chmod client id and secret in the app. See Create transaction for the endpoint your backend should expose.

Adding configuration

Pass a ChmodKycConfiguration to control appearance, copy and capture behaviour. Every field has a default, so ChmodKycConfiguration() is valid:
Full reference in SDK configuration.

Next

Handling the result

Every outcome, every error code, and navigating with the result.