On this page
Chain Support
This page is the Hardware SDK public method matrix, not the OneKey App coin list. App marketing numbers (100+ chains, 30,000+ tokens) are wallet-catalog figures. Integrators should count only methods you can call on HardwareSDK.
Source of truth for Pro 2 / Neo: each Core method’s getSupportedProtocols(). Default is Protocol V1 only. A chain is on Pro 2 / Neo only when the method returns ['V1', 'V2']. Firmware min versions go stale; check the method page and the device firmware, do not copy them here.
Protocol V1 and V2 (Pro 2 / Neo)
| Family | Public methods | Classic 1s / Touch / Pro | Mini | Pro 2 / Neo |
|---|---|---|---|---|
| EVM | evmGetAddress evmGetPublicKey evmSignMessage evmSignTransaction evmSignTypedData evmVerifyMessage | Yes | Yes | V1+V2 |
| Bitcoin & forks | btcGetAddress btcGetPublicKey btcSignMessage btcSignTransaction btcVerifyMessage btcSignPsbt | Yes (see caveats) | Yes | V1+V2 (Bitcoin). Neurai is V1-only |
| Solana | solGetAddress solSignMessage solSignTransaction solSignOffchainMessage | Yes | Yes | V1+V2 |
| Aptos | aptosGetAddress aptosGetPublicKey aptosSignMessage aptosSignTransaction aptosSignInMessage | Yes (see caveats) | Yes | V1+V2 |
| Sui | suiGetAddress suiGetPublicKey suiSignMessage suiSignTransaction | Yes | Yes | V1+V2 |
| Cosmos | cosmosGetAddress cosmosGetPublicKey cosmosSignTransaction | Yes | Yes | V1+V2 |
| NEAR | nearGetAddress nearSignTransaction | Yes | Yes | V1+V2 |
| TON | tonGetAddress tonSignMessage tonSignProof tonSignData | Yes. Classic (not 1s): no | Address yes; sign/proof: no | V1+V2 |
| TRON | tronGetAddress tronSignMessage tronSignTransaction | Yes | Address yes; sign message: no | V1+V2 |
| Cardano | cardanoGetAddress cardanoGetPublicKey cardanoSignMessage cardanoSignTransaction | Yes | Yes | V1+V2 |
| Polkadot | polkadotGetAddress polkadotSignTransaction | Yes | Yes | V1+V2 |
| Ripple (XRP) | xrpGetAddress xrpSignTransaction | Yes | Yes | V1+V2 |
| Filecoin | filecoinGetAddress filecoinSignTransaction | Yes | Yes | V1+V2 |
| Conflux | confluxGetAddress confluxSignMessage confluxSignMessageCIP23 confluxSignTransaction | Yes | Yes | V1+V2 |
| Kaspa | kaspaGetAddress kaspaSignTransaction | Yes | Yes | V1+V2 |
| Algorand | algoGetAddress algoSignTransaction | Yes | Yes | V1+V2 |
| NEM | nemGetAddress nemSignTransaction | Yes | Yes | V1+V2 |
| Nostr | nostrGetPublicKey nostrSignEvent nostrSignSchnorr nostrEncryptMessage nostrDecryptMessage | Yes | Yes | V1+V2 |
| Starcoin | starcoinGetAddress starcoinGetPublicKey starcoinSignMessage starcoinSignTransaction starcoinVerifyMessage | Yes | Yes | V1+V2 |
Protocol V1 only — not supported on Pro 2 / Neo
These methods declare Protocol V1 only. Do not call them on Pro 2 or Neo. Stellar, Alephium, and Neo (the chain, not the OneKey Neo device) are explicitly out of the Pro 2 / Neo set.
| Family | Public methods | Notes |
|---|---|---|
| Stellar | stellarGetAddress stellarSignTransaction | Not on Pro 2 / Neo |
| Alephium | alephiumGetAddress alephiumSignMessage alephiumSignTransaction | Not on Pro 2 / Neo. Classic / Mini / Touch signing is listed in compatibility test exceptions |
| Benfen | benfenGetAddress benfenGetPublicKey benfenSignMessage benfenSignTransaction | Not on Pro 2 / Neo. Classic is listed in compatibility test exceptions |
| Nexa | nexaGetAddress nexaSignTransaction | Not on Pro 2 / Neo |
| Dynex | dnxGetAddress dnxSignTransaction | Not on Pro 2 / Neo. Pro / Classic 1s / Mini / Touch are listed in compatibility test exceptions |
| Nervos | nervosGetAddress nervosSignTransaction | Not on Pro 2 / Neo |
| SCDO | scdoGetAddress scdoSignMessage scdoSignTransaction | Not on Pro 2 / Neo. Classic / Mini / Touch are listed in compatibility test exceptions |
| Neo (chain) | neoGetAddress neoSignTransaction | Not on Pro 2 / Neo. Classic / Mini / Touch are listed in compatibility test exceptions. Not the OneKey Neo device |
| Lightning | lnurlAuth | Not on Pro 2 / Neo |
| EVM extra | evmSignMessageEIP712 | Legacy typed-data path; prefer evmSignTypedData (V1+V2) |
Device caveats (compatibility tests)
These are method/model combinations that repository compatibility tests permit to fail. This is a test-coverage limitation, not a fresh hardware test result. Do not advertise support for these combinations without validating the exact firmware and method on the device.
| Model | Do not rely on |
|---|---|
| Classic | TON, Alephium, SCDO, Benfen, Neo (chain), btcSignPsbt, aptosSignInMessage |
| Classic 1s / Pure | Dynex |
| Mini | Alephium sign, Dynex sign, Neo (chain) sign, SCDO sign, TON sign/proof, TRON sign message. No BLE |
| Touch | Alephium sign, Dynex sign, Neo (chain) sign, SCDO sign |
| Pro | Dynex |
| Pro 2 | Chain methods with ['V1', 'V2'] above. Has camera (Air-Gap) |
| Neo | Same chain methods as Pro 2. No camera, NFC, fingerprint, or Find My — no Air-Gap QR |
EIP-7702 (authorizationList) is not supported on Classic.
Batch address helper
allNetworkGetAddress / allNetworkGetAddressByLoop are V1+V2 helpers. They still fail for a network whose own method is V1-only on a Protocol V2 connection.
Bitcoin forks
btc* methods take a coin / coin_name. Most forks follow the Bitcoin row (V1+V2). Neurai is Protocol V1 only.
How to decide at runtime
getSupportedProtocols() is a Core method-class hook, not a public HardwareSDK call. Use this page plus the live device:
- Does the SDK export the method?
- Is the device
connectProtocol'V1'or'V2'? - Does this page list the method as V1+V2, or V1-only?
- Does this model appear in the caveats table?
- Does the firmware meet the method page’s version line?
Do not branch on USB PID or BLE name. See Protocol V1 and V2 and Devices.
Next
- Method pages: use the Chain Methods selector in the sidebar
- Signer Guides
- Getting Started