Skip to main content

Options

Allows to set default recommended wallets that are fetched from WalletGuide. You can define a list of wallets ids you'd like to prioritize (order is respected). You can get these ids from the explorer link mentioned before by clicking on a copy icon of your desired wallet card.

AppKit.configure(
...
recommendedWalletIds: [String]
...
)

Explorer excluded wallets

Allows to exclude wallets that are fetched from WalletGuide. You can define an array of wallet ids you'd like to exclude. You can get these ids from the explorer link mentioned before by clicking on a copy icon of your desired wallet card.

AppKit.configure(
...
excludedWalletIds: [String]
...
)

Add custom wallets

If you want to list wallet that is not included in the explorer, you can configure the client as follows:

AppKit.configure(
...
customWallets: [
.init(
id: "swift-sample",
name: "Swift Sample Wallet",
homepage: "https://reown.com/",
imageUrl: "https://avatars.githubusercontent.com/u/179229932?s=200&v=4",
order: 1,
mobileLink: "walletapp://",
linkMode: "https://appkit-lab.reown.com/example"
)
]
...
)

Enable Installed Wallet Detection

To enable AppKit to detect wallets installed on the device, you need to make specific changes your project Info.plist.

For iOS:

  1. Open your Info.plist file.
  2. Locate the <key>LSApplicationQueriesSchemes</key> section.
  3. Add the desired wallet schemes as string entries within the <array>. These schemes represent the wallets you want to detect.
  4. Refer to our Info.plist example file for a detailed illustration.

Example:

<key>LSApplicationQueriesSchemes</key>
<array>
<string>metamask</string>
<string>trust</string>
<string>safe</string>
<string>rainbow</string>
<string>uniswap</string>
<!-- Add other wallet schemes names here -->
</array>

Enable Coinbase Wallet

info

Coinbase Wallet is available from AppKit version 1.1.0 and higher

Since Coinbase Wallet uses its own SDK there are a few simply steps to do if you are planning to include and support it

  1. Open your Info.plist file.
  2. Locate the <key>LSApplicationQueriesSchemes</key> section.
  3. Include <string>cbwallet</string> scheme as mentioned above in previous section

Example:

<key>LSApplicationQueriesSchemes</key>
<array>
<string>cbwallet</string>
<!-- Any other scheme previously added -->
</array>

Then you need to add the following code to your AppDelegate.swift file

import CoinbaseWalletSDK

override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
AppKit.instance.handleDeeplink(url)
}

or for SwiftUI attach onOpenURL modifier somewhere in your view hierarchy like shown below.

WindowGroup {
YourView()
.onOpenURL { url in
AppKit.instance.handleDeeplink(url)
}
}

note

If you don't want to include/support Coinbase Wallet you just need to set coinbaseEnabled to false in your AppKit configure call.