Quick Start
npm install @tomo-inc/tomo-web-sdkpnpm i @tomo-inc/tomo-web-sdkPrepare the Client ID

Initialize Tomo Web SDK
Use Tomo

Demo
FAQ
Last updated
npm install @tomo-inc/tomo-web-sdkpnpm i @tomo-inc/tomo-web-sdk

Last updated
import { TomoContextProvider } from '@tomo-inc/tomo-web-sdk';
<TomoContextProvider
theme="light"
chainTypes={['solana','tron','movement']}
clientId="your client Id"
>
<YourApp />
</TomoContextProvider>import { initTomoModal } from '@tomo-inc/tomo-web-sdk';
import '@tomo-inc/tomo-web-sdk/style.css'
initTomoModal({
theme: "light",
clientId: "your client Id",
chainTypes: ['solana'],
onConnect: (walletState) => {
console.log('onConnect', walletState)
},
})function useTomo() {
const tomoModal = useAtomValue(tomoModalAtom)
const tomoModalControl = useTomoModalControl()
const tomoWalletState = useTomoWalletState()
const tomoClientMap = useTomoClientMap()
const tomoWalletConnect = useTomoWalletConnect()
return {
opened: tomoModal.open,
openConnectModal: tomoModalControl.open,
closeConnectModal: tomoModalControl.close,
connected: tomoWalletState.isConnection,
disconnect: tomoWalletConnect.disconnect,
solanaAddress: tomoWalletState.solanaAddress,
providers: {
solanaProvider: tomoClientMap.solanaProvider
}
}
}// react
const { openConnectModal } = useTomo();
openConnectModal();
// pure js
window.openTomoConnectModal?.()import { getWalletState } from '@tomo-inc/tomo-web-sdk';
// react
const { connected } = useTomo();
// pure js or react
const walletState = getWalletState()
const connected = walletState.isConnected// react
const { disconnect } = useTomo();
disconnect()
// pure js
window.tomo_sol?.disconnect/** @type {import('next').NextConfig} */
module.exports = {
...
transpilePackages: ['@tomo-inc/tomo-web-sdk', '@tomo-wallet/uikit', '@tomo-inc/shared-type'],
...
}