Options
Explorer recommended wallets
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:
- Open your
Info.plist
file. - Locate the
<key>LSApplicationQueriesSchemes</key>
section. - Add the desired wallet schemes as string entries within the
<array>
. These schemes represent the wallets you want to detect. - 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
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
- Open your
Info.plist
file. - Locate the
<key>LSApplicationQueriesSchemes</key>
section. - 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 hieararchy like shown below.
WindowGroup {
YourView()
.onOpenURL { url in
AppKit.instance.handleDeeplink(url)
}
}
If you don't want to include/support Coinbase Wallet you just need to set coinbaseEnabled
to false
in your AppKit configure call.