🏟️ BUIDL where legends play. Join our Hackathon at Parc des Princes, Paris – July 2025 •
Register Now
Chiliz Chain Developer Docs
Chiliz ChainBlock ExplorerCommunitySocios.com
English
English
  • Chiliz Chain developer docs
  • Quick Start
    • Chiliz Chain in a nutshell
    • Connect to Mainnet and Testnet
    • Deploy and verify a contract
      • Deploy with Remix IDE
      • Deploy with thirdweb
      • Verify with Chiliscan
      • Verify with Chiliz Block Explorer
    • Run a Chiliz Chain Node
    • Free online courses
    • Inflation Supply Allocation Addresses
    • Smart Contract Addresses
  • Learn
    • About Chiliz Chain
      • Tokenomics
      • Security Audits
      • Chiliz Labs
    • About Wallets
      • How to use MetaMask
        • Install MetaMask
        • Link Chiliz Chain to MetaMask
      • How to use a multisig wallet (Safe)
    • About Bridging
      • Using Dcentralab's Chainport
      • Using Chiliz Bridge
      • Bridging stablecoins
      • Making your project token bridgeable
    • About Staking
      • Stake your CHZ
      • Unstake your CHZ
      • Staking Rewards
      • Stake CHZ from your Ledger
      • Chiliz Staking FAQ
    • About Validators
      • Defining Validators and Delegators
      • Why Become a Validator
      • How to Become a Validator
      • Running a Validator node
      • How to Stop Being a Validator
      • About Validator slashing
    • About Fan Tokens
      • 2023 Migration of Fan Tokens to Chiliz Chain
    • About Stablecoins
      • Stablecoins on Chiliz Chain
    • Glossary
      • Blockchain
      • Consensus mechanisms
      • Governance
      • Validator
      • Staking
      • Wallet
      • CAP-20
      • Wrapped CHZ (wCHZ)
  • Develop
    • Basics
      • Connect to Chiliz Chain
        • Connect using RPC
        • Run a Chiliz Chain Node
        • Use a hardware wallet
      • Block Explorers
      • Testnet Faucet
        • Obtain testCHZs with Tatum Faucet
      • Use Wrapped CHZ
      • How-Tos
        • How to get the balance of a wallet
        • How to get the history of a wallet
        • How to get the metadata of a specific NFT
      • Tips & Tricks
    • Advanced
      • How to integrate Socios Wallet in your dApp
      • How to use Account Abstraction
      • How to get the USD price of Fan Tokens
      • How to generate random numbers
      • How to follow transfers of a Fan Token
      • How to create Telegram notifications for Fan Token transfers
      • How to estimate gas fees
    • Chiliz Chain API
    • Developers FAQ
  • Community
    • Chiliz Chain Ecosystem
      • Developer Tools
        • Ankr
        • Azuro
        • Biconomy
        • Blocknative
        • Hyperlane
        • Lumx
        • Moralis
        • Pyth
        • Reown
        • Rarible
        • Tatum
        • The Graph
        • Thirdweb
        • Web3Auth
      • Custody solutions
        • Cobo
        • Fireblocks
      • Wallets
        • Magic
        • Privy
    • Developers events
      • Chiliz Sports Hackathon - July 2024
        • Setting The Stage
        • Getting Started
        • Mission Brief & Key Dates
        • The Prize Money
        • Theme & Intro
        • Tracks, Requirements, Regulations & Scoring Criteria
        • The Process
        • Disclaimers
        • Useful information
      • ETHGlobal Bangkok Hackathon 2024
      • ETHGlobal Istanbul Hackathon 2023
      • ETHGlobal London Hackathon 2024
      • ETHGlobal Online Hackathon Summer 2024
      • Hacking Poland 2025
      • Lumx Hack powered by ETH Rio
  • Chiliz Chain Changelog
    • Governance Proposals & Decisions
      • February 2025: New validator proposals
      • December 2024: Governance Update Proposals
      • May 2024: Dragon 8 (Tokenomics 2.0) Proposal
      • 2024 Dragon8 hard fork announcement
    • Blockchain code changes
    • Outage reports
      • Details on the May 21st outage
  • Doc Updates
Powered by GitBook
On this page
  • What is Account Abstraction?
  • What does it mean for Chiliz Chain developers?
  • How to do it using Biconomy?

Was this helpful?

  1. Develop
  2. Advanced

How to use Account Abstraction

Last updated 1 year ago

Was this helpful?

What is Account Abstraction?

Account Abstraction is a blockchain technology that allows users to use smart contracts as their accounts, making them fully programmable.

It aims to make user accounts more flexible and functional, thus enhancing the user experience.

What does it mean for Chiliz Chain developers?

By implementing AA, developers could enhance the user experience of their project: simpler Chiliz Chain interactions means a more user-friendly app.

How to do it using Biconomy?

Biconomy provides a full-stack Account Abstraction SDK, which provides access to Smart Accounts:

As per Biconomy themselves, there are 4 ways to leverage their AA stack on Chiliz Chain:

  • Gasless Transactions

  • Batched Transactions

  • Smart contract wallets (including social login)

  • Modules including session keys, multichain validator, account recovery, and much more!

Biconomoy has a nice Quickstart page:

The sample code uses the Polygon Mumbai network, and you can adapt it to Chiliz, like so:

import {
  Hex,
  createWalletClient,
  encodeFunctionData,
  http,
  parseAbi,
  zeroAddress,
} from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { ChainId } from '@biconomy/core-types'
import { createSmartAccountClient } from "@biconomy/account";

const bundlerUrl =
  "https://bundler.biconomy.io/api/v2/80001/nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f44"; // Found at https://dashboard.biconomy.io

export const createAccountAndMintNft = async () => {
  // ----- 1. Generate EOA from private key
  const account = privateKeyToAccount("0x" + "PRIVATE_KEY");
  const client = createWalletClient({
    account,
    chainId: ChainId.CHILIZ_TESTNET, // or ChainId.CHILIZ_MAINNET,
    transport: http(),
  });
  const eoa = client.account.address;
  console.log(`EOA address: ${eoa}`);

  // ------ 2. Create biconomy smart account instance
  const smartAccount = await createSmartAccountClient({
    signer: client,
    bundlerUrl,
  });
  const saAddress = await smartAccount.getAccountAddress();
  console.log("SA Address", saAddress);
};
createAccountAndMintNft();

Remember the Chiliz Chain IDs:

  • CHILIZ_MAINNET = 88888

  • CHILIZ_TESTNET = 88882

// CC2 has its own entrypoint address
const CHILIZ_BUNDLER_ENTRYPOINT_ADDRESS='0x00000061FEfce24A79343c27127435286BB7A4E1'

const bundler = new Bundler({
    bundlerUrl: `https://bundler.biconomy.io/api/v2/${ChainId.CHILIZ_TESTNET}/nJPK7B3ru.dd7f7861-190d-41bd-af80-6877f74b8f44`,
    chainId: ChainId.CHILIZ_TESTNET,
    entryPointAddress: CHILIZ_BUNDLER_ENTRYPOINT_ADDRESS,
})

Also, when working with Biconomy, note that Chiliz has , for both mainnet and testnet:

This is important when using the Biconomy or :

https://docs.biconomy.io/account
https://docs.biconomy.io/quickstart
its own entrypoint address
0x00000061FEfce24A79343c27127435286BB7A4E1
Bundler
Paymaster