Learn how to access the Base Account provider through Wagmi to unlock advanced Base Account features beyond basic authentication and payments.

Prerequisites

Make sure you have set up Wagmi with Base Account before following this guide.

Getting the Provider

The key to accessing advanced Base Account functionality is getting the provider from your Wagmi connector. Once you have the provider, you can use any Base Account RPC method.
// hooks/useBaseAccountProvider.ts
import { useConnector, useAccount } from 'wagmi'
import { useEffect, useState } from 'react'

export function useBaseAccountProvider() {
  const { isConnected } = useAccount()
  const connector = useConnector()
  const [provider, setProvider] = useState<any>(null)

  useEffect(() => {
    if (isConnected && connector) {
      // Access the Base Account provider
      const baseAccountProvider = connector.provider
      setProvider(baseAccountProvider)
    } else {
      setProvider(null)
    }
  }, [isConnected, connector])

  return provider
}

Available Use Cases

Once you have the provider, you can access all Base Account functionality:

Sub Accounts

Create and manage child accounts for improved UX. Learn more: Sub Accounts Guide | Sub Accounts RPC Method

Spend Permissions

Allow apps to spend on behalf of users with predefined limits. Learn more: Spend Permissions Guide | Spend Permissions Reference

Batch Transactions

Execute multiple transactions in a single user confirmation. Learn more: Batch Transactions Guide | wallet_sendCalls Reference

Gasless Transactions

Sponsor gas fees for your users. Learn more: Gasless Transactions Guide | Coinbase Developer Platform Paymaster