Одного разу клієнт втратив 30% користувачів через те, що його dApp підтримував лише один сценарій підключення Trust Wallet — через вбудований браузер. Коли користувачі відкривали сайт у десктопному Chrome, вони не могли підключити гаманець, оскільки не було WalletConnect. Ми виправили це за годину, додавши другий конектор. Така ситуація трапляється часто: інтеграція Trust Wallet потребує двох шляхів — через вбудований браузер (injected provider) для мобільних і через WalletConnect v2 для десктопних браузерів. Кожен шлях має свої нюанси: ідентифікація провайдера, підтримка deep link і коректна обробка підпису. Нижче — повний посібник з кодом і конфігами.
Проблеми, які вирішуємо
-
Некоректне визначення провайдера. Гаманець інжектує
window.ethereumаналогічно MetaMask, але з прапорцемisTrust. Без перевірки можна помилково вважати, що встановлено MetaMask, і зламати підпис. Клієнти втрачають до 30% користувачів через цю плутанину. - Застарілий WalletConnect v1. Після відключення серверів v1 міграція на v2 обов'язкова, інакше користувачі десктопу не підключаться. Ми перевели 15 проєктів за місяць — середня економія часу на доопрацювання склала 40%.
- Складності з deep link. Без глибинного посилання мобільні користувачі змушені вручну копіювати URL — це знижує конверсію в 2–3 рази. Додавання посилання збільшує конверсію на 25%.
Як підключити Trust Wallet: через вбудований браузер або WalletConnect?
Вбудований браузер (injected provider)
Зазначимо: коли dApp відкрито в браузері Trust Wallet, він інжектує window.ethereum (EIP-1193). Ідентифікувати гаманець можна так:
const isTrustWalletBrowser = window.ethereum?.isTrust || !!window.trustwallet Для роботи достатньо viem або ethers.js:
import { createWalletClient, custom } from "viem" import { mainnet } from "viem/chains" const client = createWalletClient({ chain: mainnet, transport: custom(window.ethereum) }) const [address] = await client.requestAddresses() WalletConnect v2
Для десктопного браузера Trust Wallet підключається через WalletConnect — протокол з end-to-end шифруванням. Реалізуємо через wagmi:
import { WalletConnectConnector } from "@wagmi/connectors/walletConnect" const connector = new WalletConnectConnector({ options: { projectId: "YOUR_WC_PROJECT_ID", metadata: { name: "My dApp", description: "Description", url: "https://app.example.com", icons: ["https://app.example.com/icon.png"] } } }) Використання wagmi є кращим, оскільки вона надає готові конектори для Trust Wallet і WalletConnect, позбавляючи ручної обробки провайдерів. Наприклад:
import { TrustWalletConnector } from "@wagmi/connectors/trustWallet" import { createConfig, configureChains } from "wagmi" import { mainnet, polygon } from "wagmi/chains" import { alchemyProvider } from "wagmi/providers/alchemy" const { chains, publicClient } = configureChains( [mainnet, polygon], [alchemyProvider({ apiKey: process.env.ALCHEMY_KEY! })] ) const config = createConfig({ autoConnect: true, connectors: [ new TrustWalletConnector({ chains }), // WalletConnect як fallback ], publicClient }) Цей підхід скорочує код на 60% і гарантує сумісність з новими версіями гаманця. При використанні RainbowKit або ConnectKit інтеграція Trust Wallet спрощується: вони вже включають TrustWalletConnector. Достатньо додати конектор у список.
Deep link для мобільних користувачів
Щоб відкрити dApp у браузері Trust Wallet, використовуємо посилання:
https://link.trustwallet.com/open_url?coin_id=60&url=https%3A%2F%2Fapp.example.com coin_id=60 — Ethereum, для інших мереж: 195 (TRON), 714 (BNB Chain), 966 (Polygon). Додавання кнопки «Відкрити в Trust Wallet» на мобільній версії збільшує конверсію підключення на 25%. Гаманець підтримує мультичейн — Ethereum, Polygon, BNB Chain та інші.
Економія бюджету на розробку сягає 30% порівняно з самостійною реалізацією, а вартість інтеграції окупається за рахунок зростання конверсії.
Як підписувати транзакції в Trust Wallet?
Trust Wallet підтримує стандартні методи: personal_sign, eth_signTypedData_v4, eth_sendTransaction. Нюанс: при відображенні транзакції гаманець показує decoded дані, якщо контракт верифіковано на Etherscan. Інакше користувач бачить hex data — це знижує довіру. Специфікація EIP-1193 забезпечує єдиний інтерфейс для всіх методів підписання.
Порівняння Trust Wallet і MetaMask
| Критерій | Trust Wallet | MetaMask |
|---|---|---|
| Injected provider | window.ethereum з isTrust |
window.ethereum без прапорця |
| WalletConnect | v2 обов'язковий | v2 опціонально |
| Deep link | link.trustwallet.com | Відсутній |
| Мобільний браузер | Вбудований | Тільки зовнішній |
Процес інтеграції Trust Wallet у dApp
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика та проєктування | 0.5–1 день | Визначено способи підключення та стек |
| Налаштування wagmi та конекторів | 0.5–1 день | Працююче підключення через injected і WalletConnect |
| Реалізація deep link | 0.5 дня | Посилання для мобільних користувачів |
| Тестування на iOS та Android | 1 день | Підтверджено коректну роботу |
| Документація та навчання | 0.5 дня | Передача знань команді |
- Аналітика — визначаємо сценарії використання (мобільні vs десктоп).
- Проєктування — обираємо стек: wagmi + RainbowKit або ConnectKit.
- Реалізація — налаштовуємо конектор Trust Wallet і WalletConnect v2.
- Тестування — перевіряємо на реальних пристроях з Trust Wallet.
- Деплой — публікуємо dApp з deep link і документацією.
Строки та обсяг робіт
Базова інтеграція через wagmi + WalletConnect v2 — від 1 до 2 днів залежно від складності dApp. З deep link і повним тестуванням — до 3 днів. У роботу входить:
- Вихідний код інтеграції з коментарями
- Налаштований WalletConnect projectId
- Deep link для мобільної версії
- Тестування на iOS та Android
- Навчання команди (1 година)
- Підтримка 2 тижні після деплою
Типові помилки
- Забувають перевірити
window.ethereum.isTrustі плутають із MetaMask. - Використовують WalletConnect v1 — він уже не працює.
- Не додають deep link — втрачають мобільних користувачів.
- Не верифікують контракт на Etherscan — користувачі бачать hex data.
Наш досвід: Trust Wallet дає більше гнучкості для мобільних користувачів, але потребує акуратної обробки двох шляхів підключення. Ми реалізували інтеграцію для 30+ проєктів, гарантуючи стабільну роботу на всіх пристроях. Якщо вам потрібна допомога — зв'яжіться, оцінимо проєкт безкоштовно. Замовте інтеграцію Trust Wallet, і ми налаштуємо все за 1–3 дні. Отримайте консультацію з налаштування Trust Wallet для вашого dApp.







