Skip to content

Trust Wallet

Trust Wallet is a crypto wallet app. Protocol Launcher allows you to generate Trust Wallet deep links for DApps, assets, payments, staking, exchange flows, WalletConnect, and other documented pages.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

URL Methods

Trust Wallet documents that every deeplink route can use either https://link.trustwallet.com or trust://. This module defaults to the HTTPS app link and supports format: 'scheme' when you need the direct trust:// URL.

Open DApp Browser

Open the DApp browser with a specific website URL and SLIP-44 network.

On-Demand
ts
import { openDappBrowser } from 'protocol-launcher/trust-wallet'

const url = openDappBrowser({
  coinId: 60,
  url: 'https://compound.finance',
})

Open Coin

Open a coin by its UAI asset identifier.

On-Demand
ts
import { openCoin } from 'protocol-launcher/trust-wallet'

const url = openCoin({
  asset: 'c60',
})

Add Asset

Add an asset to local storage so it shows on the wallet screen.

On-Demand
ts
import { addAsset } from 'protocol-launcher/trust-wallet'

const url = addAsset({
  asset: 'c60_t0x514910771af9ca656af840dff83e8264ecf986ca',
})

Send Payment

Generate a payment URL with the documented optional amount, memo, and data parameters.

On-Demand
ts
import { sendPayment } from 'protocol-launcher/trust-wallet'

const url = sendPayment({
  asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F',
  address: '0x650b5e446edabad7eba7fa7bb2f6119b2630bfbb',
  amount: 1,
  memo: 'test',
})

Stake

Open staking details for a SLIP-44 coin index.

On-Demand
ts
import { stake } from 'protocol-launcher/trust-wallet'

const url = stake({
  coin: 118,
})

Stake Delegate

Open the stake/delegate flow, optionally selecting a validator or delegator.

On-Demand
ts
import { stakeDelegate } from 'protocol-launcher/trust-wallet'

const url = stakeDelegate({
  coin: 118,
  id: 'cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf',
})

Stake Undelegate

Open the unstake/undelegate flow.

On-Demand
ts
import { stakeUndelegate } from 'protocol-launcher/trust-wallet'

const url = stakeUndelegate({
  coin: 118,
})

Stake Claim Rewards

Open the claim rewards flow.

On-Demand
ts
import { stakeClaimRewards } from 'protocol-launcher/trust-wallet'

const url = stakeClaimRewards({
  coin: 118,
})

Open Swap

Open Swap with source and destination assets in UAI format.

On-Demand
ts
import { openSwap } from 'protocol-launcher/trust-wallet'

const url = openSwap({
  from: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F',
  to: 'c60',
})

Open Buy Crypto

Open Buy Crypto with the documented optional fiat ramp parameters.

On-Demand
ts
import { openBuyCrypto } from 'protocol-launcher/trust-wallet'

const url = openBuyCrypto({
  asset: 'c60',
  provider: 'moonpay',
  paymentMethod: 'digital_wallet',
  subPaymentMethod: 'paypal',
  fiatCurrency: 'USD',
  fiatQuantity: 300,
})

Open Sell Crypto

Open Sell Crypto for an asset in UAI format.

On-Demand
ts
import { openSellCrypto } from 'protocol-launcher/trust-wallet'

const url = openSellCrypto({
  asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F',
})

Open Market Info

Open market information for an asset in UAI format.

On-Demand
ts
import { openMarketInfo } from 'protocol-launcher/trust-wallet'

const url = openMarketInfo({
  asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F',
})

Open Hot Tokens

Open the Hot Tokens tab, optionally with a category and network.

On-Demand
ts
import { openHotTokens } from 'protocol-launcher/trust-wallet'

const url = openHotTokens({
  categoryId: 'hot',
  network: 'c0',
})

Connect WalletConnect

Generate the WalletConnect route. Trust Wallet documents this route with a URL-encoded WalletConnect v2 URI in the uri query parameter.

On-Demand
ts
import { connectWalletConnect } from 'protocol-launcher/trust-wallet'

const url = connectWalletConnect({
  uri: 'wc%3A1234abcd...%402%3FrelaySrotocol%3Dirn%26symKey%3D...',
})

Open Simple Pages

Open NFTs, quest, Launchpool, notification settings, notifications, and price alerts.

On-Demand
ts
import {
  openNfts, openQuest, openLaunchpool, openNotificationSettings, openNotifications, openPriceAlerts
} from 'protocol-launcher/trust-wallet'

const nftsUrl = openNfts()
const questUrl = openQuest()
const launchpoolUrl = openLaunchpool()
const notificationSettingsUrl = openNotificationSettings()
const notificationsUrl = openNotifications()
const priceAlertsUrl = openPriceAlerts()

Generated URLs

ts
openDappBrowser({ coinId: 60, url: 'https://compound.finance' })
// => 'https://link.trustwallet.com/open_url?coin_id=60&url=https://compound.finance'

openDappBrowser({ coinId: 60, url: 'https://compound.finance', format: 'scheme' })
// => 'trust://open_url?coin_id=60&url=https://compound.finance'

openCoin({ asset: 'c60' })
// => 'https://link.trustwallet.com/open_coin?asset=c60'

addAsset({ asset: 'c60_t0x514910771af9ca656af840dff83e8264ecf986ca' })
// => 'https://link.trustwallet.com/add_asset?asset=c60_t0x514910771af9ca656af840dff83e8264ecf986ca'

sendPayment({
  asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F',
  address: '0x650b5e446edabad7eba7fa7bb2f6119b2630bfbb',
  amount: 1,
  memo: 'test',
})
// => 'https://link.trustwallet.com/send?asset=c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F&address=0x650b5e446edabad7eba7fa7bb2f6119b2630bfbb&amount=1&memo=test'

stake({ coin: 118 })
// => 'https://link.trustwallet.com/stake?coin=118'

stakeDelegate({ coin: 118, id: 'cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf' })
// => 'https://link.trustwallet.com/stake_delegate?coin=118&id=cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf'

stakeUndelegate({ coin: 118 })
// => 'https://link.trustwallet.com/stake_undelegate?coin=118'

stakeClaimRewards({ coin: 118 })
// => 'https://link.trustwallet.com/stake_claim_rewards?coin=118'

openSwap({ from: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F', to: 'c60' })
// => 'https://link.trustwallet.com/swap?from=c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F&to=c60'

openBuyCrypto({
  asset: 'c60',
  provider: 'moonpay',
  paymentMethod: 'digital_wallet',
  subPaymentMethod: 'paypal',
  fiatCurrency: 'USD',
  fiatQuantity: 300,
})
// => 'https://link.trustwallet.com/buy?asset=c60&provider=moonpay&payment_method=digital_wallet&sub_payment_method=paypal&fiat_currency=USD&fiat_quantity=300'

openSellCrypto({ asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F' })
// => 'https://link.trustwallet.com/sell?asset=c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F'

openMarketInfo({ asset: 'c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F' })
// => 'https://link.trustwallet.com/market?asset=c60_t0x6B175474E89094C44Da98b954EedeAC495271d0F'

openHotTokens()
// => 'https://link.trustwallet.com/hot_tokens'

openHotTokens({ categoryId: 'hot', network: 'c0' })
// => 'https://link.trustwallet.com/hot_tokens?category_id=hot&network=c0'

connectWalletConnect({ uri: 'wc%3A1234abcd...%402%3FrelaySrotocol%3Dirn%26symKey%3D...' })
// => 'https://link.trustwallet.com/wc?uri=wc%3A1234abcd...%402%3FrelaySrotocol%3Dirn%26symKey%3D...'

openNfts()
// => 'https://link.trustwallet.com/nfts'

openQuest()
// => 'https://link.trustwallet.com/quest'

openLaunchpool()
// => 'https://link.trustwallet.com/launchpool'

openNotificationSettings()
// => 'https://link.trustwallet.com/notification_settings'

openNotifications()
// => 'https://link.trustwallet.com/notifications'

openPriceAlerts()
// => 'https://link.trustwallet.com/alerts'

Official Documentation