Biconomy SDK
Search…
⌃K

Overview

These docs are purely focused on the Biconomy SDK. If you wish to access our old docs, please click here.
The Biconomy SDK provides solutions from onboarding to user engagement for a decentralised application (dApp) in a non-custodial way. It is a one-stop solution to enable an effortless experience in your dApp as it eases onboarding for new users and abstracts away transaction complexities that your users face on a daily basis. This is enabled using Smart Contract Wallets (SCW) built on top of our multi-chain Relayer Infrastructure.

What’s Possible?

Biconomy SDK brings blockchain-agnostic, web2-like experiences to your dApp in a non-custodial manner. Here's what you can enable today:
  • Easy User Onboarding : Social login, account creation & recovery to seamlessly onboard web2 users.
  • Fiat On Ramp : Let your users easily & reliably buy/sell crypto within your dApp.
  • Gasless Transactions : dApps can sponsor gas fees to make user interactions as simple as web2 transactions.
  • Paying Gas Fees In ERC20 Tokens : Users can utilise any ERC20 asset in their wallet to pay gas fees.
  • Custom Transaction Bundling : Allow developers to build methods to do transaction batching which enables users to execute multiple actions, even across multiple chains, in a single transaction. Eg. Approve and Deposit can be done in the same transaction without changing anything in dApp smart contracts.
  • Cross Chain Contract Calls & Asset Transfer : Seamless in-dApp cross chain asset bridging and contract calls to enable a chainless experience for your user. (Coming soon)

How Does It Work: Smart Contract Wallets

The backbone of the Biconomy SDK is Smart Contract Wallet (SCW) which will be created when any new user onboards to a dApp. SCW address is counterfactual in nature and actual contract is deployed along with first transaction of the user.
A smart contract wallet is a smart contract associated with each user EOA (Externally Owned Account e.g. traditional MetaMask accounts or account generated via social login). It is a non-custodial account and provides added security compared to EOAs with a single private key. Users can deposit funds that no one else can control and withdraw at any point of time.
The SCW address remains consistent across chains making it easy to provide a chainless experience for the user from within the dApp itself. dApps can customise all sorts of seamless interactions using our transaction bundles via this SCW for the user.

Specifications Of Transactions Via SCW

  1. 1.
    There’s an EOA attached to the SC Wallet, which acts as an owner of the wallet.
  2. 2.
    SC Wallet supports Modules to extend wallet functionality without upgrading it. Examples of Modules are MultiSig, Social Recovery Module, Recurring Transaction Module, Transaction Automation, Session Key Module etc.
  3. 3.
    Whenever any transaction is executed via this SC Wallet, it is initiated by the EOA in the form of a cryptographic signature which is then relayed by a Relayer.
  4. 4.
    SC Wallet address for a user remains the same on all EVM compatible chains. It’s possible using CREATE2 where SC Wallet address can be generated without actually deploying it on chain.
  5. 5.
    All dApp interactions on a given chain, and all cross-chain interactions happen via this SC Wallet only.
  6. 6.
    This SC Wallet also acts as a Gas Tank for the user and any token held by the SC Wallet (accepted by the Relayer) can be used to pay the gas fees back to the Relayer in the same transaction.
  7. 7.
    This allows dApps to do transaction batching allowing users to execute multiple actions in a single transaction. Eg. Approve and Deposit can be done in the same transaction.