Інтеграція Trust Wallet у dApp: повний посібник

Одного разу клієнт втратив 30% користувачів через те, що його dApp підтримував лише один сценарій підключення Trust Wallet — через вбудований браузер. Коли користувачі відкривали сайт у десктопному Chrome, вони не могли підключити гаманець, оскільки не було WalletConnect. Ми виправили це за годину,

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Одного разу клієнт втратив 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 дня Передача знань команді
  1. Аналітика — визначаємо сценарії використання (мобільні vs десктоп).
  2. Проєктування — обираємо стек: wagmi + RainbowKit або ConnectKit.
  3. Реалізація — налаштовуємо конектор Trust Wallet і WalletConnect v2.
  4. Тестування — перевіряємо на реальних пристроях з Trust Wallet.
  5. Деплой — публікуємо 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.