dKit by El dorito
  • 🌐Get Started
  • 💰Revenue Generation
  • 🤝Partnerships
  • 📦START HERE
  • Install dKit SDK
  • Set up the SDK
  • Swap
  • DKIT API
    • Introduction
    • /providers - Request supported chains by a swap provider
    • /tokens - Request supported tokens by a swap provider
    • /quote - Request a trade quote
    • /quote - Understanding the response
    • /track - Request the status of a swap
Powered by GitBook
On this page

Set up the SDK

After installing the SDK, you first need to set it up.

To begin, initialize and configure the dKit SDK:

import { createDoritoKit } from '@doritokit/sdk'

const doritoKitClient = createDoritoKit({
  config: {
    stagenet?: boolean;
    /**
     * @required for AVAX & BSC
     */
    covalentApiKey?: string;
    /**
     * @required for ETH
     */
    ethplorerApiKey?: string;
    /**
     * @required for BTC, LTC, DOGE & BCH
     */
    utxoApiKey?: string;
  };
})

Connecting a wallet

doritoKit offers multiple wallet connection options, including Keystore, Phantom, Keplr, Metamask and hardware wallets. These options are defined in the WalletOption enum.

Here’s an example of connectWallet, which allows your dApp’s frontend to connect to any supported wallet:

import { AssetAmount, Chain, createDoritoKit, WalletOption } from '@swapkit/sdk'

const client = createDoritoKit();
const connectChains = [Chain.Ethereum, Chain.Bitcoin, Chain.THORChain]

const connectWallet = (walletOption: WalletOption) => {
  // Note that specific wallets support a subset of all chains.
  switch (walletOption) {
    // supports most chains e.g.
    // import { CosmosChains, EVMChains, MAYASupportedChains, SubstrateChains, TCSupportedChains, UtXOChains } from '@doritokit/helpers'
    case WalletOption.KEYSTORE: {
      return client.connectKeystore(connectChains, phrase);
    }
    // import { CTRL_SUPPORTED_CHAINS } from '@doritokit/wallet-ctrl'
    case WalletOption.CTRL:
      return client.connectCtrl(connectChains);
    // 
    case WalletOption.PHANTOM:
      return client.connectPhantom(connectChains);
    // import { EVMChains } from '@doritokit/helpers'
    case WalletOption.METAMASK:
      return client.connectEVMWallet(connectChains, WalletOption.METAMASK);
    // import { CosmosChains } from '@doritokit/helpers'
    case WalletOption.KEPLR:
      return client.connectKeplr(connectChains, 'keplr');
    // import { CosmosChains } from '@doritokit/helpers'
    case WalletOption.LEAP:
      return client.connectKeplr(connectChains, 'leap');
    // import { SubstrateChains } from '@doritokit/helpers'
    case WalletOption.TALISMAN:
      return client.connectTalisman(connectChains);
      
    default:
      break;
  }
}, []);
  
const fetchWalletBalances = () => {
  const wallets = await Promise.all(connectChains.map(client.getWalletByChain));

  console.log(wallets)
  // [{ balance: AssetAmount[]; address: string; walletType: WalletOption }]
}

PreviousInstall dKit SDKNextSwap

Last updated 3 months ago