Skip to content

connect

Requests to connect Account(s) with optional capabilities.

Usage

example.ts
import { walletClient } from './config'
 
const { accounts } = await walletClient.connect() 

Returns

List of connected accounts.

type ReturnType = {
  accounts: readonly {
    address: Address
    capabilities: Record<string, unknown>
  }[]
}

Parameters

capabilities

  • Type: Record<string, unknown>

Key-value pairs of capabilities.

import { walletClient } from './config'
 
const { accounts } = await walletClient.connect({
  capabilities: { 
    unstable_signInWithEthereum: { 
      chainId: 1, 
      nonce: 'abcd1234', 
    } 
  } 
})

Capabilities

unstable_addSubAccount

Adds a Sub Account to the connected Account. See more

import { walletClient } from './config'
 
const { accounts } = await walletClient.connect({
  capabilities: {
    unstable_addSubAccount: { 
      account: { 
        keys: [{ 
          key: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', 
          type: 'address', 
        }], 
        type: 'create', 
      } 
    } 
  }
})
[{
address: '0x90F79bf6EB2c4f870365E785982E1f101E93b906',
capabilities: {
unstable_subAccounts: [{
address: '0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc',
}],
},
}]

unstable_subAccounts

Returns all Sub Accounts of the connected Account. See more

import { walletClient } from './config'
 
const { accounts } = await walletClient.connect()
[{
address: '0x90F79bf6EB2c4f870365E785982E1f101E93b906',
capabilities: {
unstable_subAccounts: [{
address: '0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc',
}],
},
}]

unstable_signInWithEthereum

Authenticate offchain using Sign-In with Ethereum. See more

import { walletClient } from './config'
 
const { accounts } = await walletClient.connect({
  capabilities: {
    unstable_signInWithEthereum: {
      chainId: 1,
      nonce: 'abcd1234',
    }
  }
})
[{
address: '0x90F79bf6EB2c4f870365E785982E1f101E93b906',
capabilities: {
unstable_signInWithEthereum: {
message: 'example.com wants you to sign in with your Ethereum account...',
signature: '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef',
},
},
}]

JSON-RPC Methods