Tomo Docs
Tomo Docs
  • Overview
    • Introducing Tomo
    • Tomo's Key Management
  • Tomo SDK
    • TomoEVMKit
      • Quick Start
      • Use with Ethers.js
      • Migration from RainbowKit
      • Migration from Blocknative
      • Supported Chains
    • Tomo Web SDK
      • Quick Start
      • Solana Provider
      • EVM Provider
      • Bitcoin Provider
      • Tron Provider
      • Movement Provider
      • Sui Provider
    • Tomo Telegram SDK
      • Quick Start
      • Wallet Provider
        • EVM Provider
        • Solana Provider
        • Sui Provider (Beta)
        • TON Provider
      • Partners
    • Tomo Enterprise SDK
      • For Babylon
        • Install the SDK
        • Tomo Wallet Provider
        • Bitcoin Provider
        • Cosmos Provider
        • Multiple Connection Mode
        • Integrate Extension Wallet
          • Submit Wallet PR
          • Extend the SDK
          • Q & A
        • Integrate Mobile Wallet
  • TOMO WALLET
    • Tomo Wallets
    • Mobile Wallet
      • Tomo Keys
        • Bonding Curve Explained
        • How to: Tomo Keys
      • TomoID
        • How to: TomoID
        • How to: Connect Instagram
      • Tomo Socials
      • Tomo Android App
      • Tomo iOS App
    • Extension Wallet
      • Developer Manual
        • EVM Integration
        • Bitcoin Integration
      • Example of User Flows
        • Claiming Signet BTC
        • Staking at Testnet
      • Install Link
    • Telegram Wallet
      • Quick Start
      • Chains/Networks
      • User Manual
        • Account Security
        • Gift feature
        • FAQ
        • Transaction
        • Swap
  • ABOUT US
    • Brand Assets
    • Privacy Policy
Powered by GitBook
On this page
  1. Tomo SDK
  2. Tomo Enterprise SDK
  3. For Babylon

Integrate Mobile Wallet

Mobile Wallet Support

A third-party mobile wallet can easily inject the following object into window object to support all dApps that use the Tomo Connect SDK.

export type InjectedTomo = {
  info: {
    name: string
    logo: string
  }
  cosmos?: TomoCosmosInjected
  bitcoin?: TomoBitcoinInjected
}

export type TomoBitcoinInjected =  {
  // connect
  requestAccounts: () => Promise<string[]>
  getAccounts: () => Promise<string[]>
  getPublicKey: () => Promise<string>
  signPsbt: (psbtHex: string) => Promise<string>
  signPsbts: (psbtsHexes: string[]) => Promise<string[]>
  getNetwork: () => Promise<Network>
  signMessage: (message: string, type: 'bip322-simple') => Promise<string>
  switchNetwork: (network: Network) => Promise<void>
  sendBitcoin: (to: string, amount: number) => Promise<string>
  pushTx?: (txHex: string) => Promise<string>
  getBalance?: (address: string) => Promise<number>
  getInscriptions?: (
    cursor?: number,
    size?: number
  ) => Promise<InscriptionResult[]>
  on?: (eventName: string, callBack: () => void) => void
  off?: (eventName: string, callBack: () => void) => void
}

If your wallet already supports Bitcoin and Cosmos, you can simply use:

window.injectedTomo = {
  info: {
    name: 'XYZ Wallet',
    logo: 'https://your.website/wallet.png'
  },
  bitcoin: window.yourBitcoin,
  cosmos: window.yourCosmos
}
PreviousQ & ANextTomo Wallets

Last updated 5 months ago

For TomoCosmosInjected, please refer to the .

Keplr