Skip to Content
Clerk logo

Clerk Docs

Ctrl + K
Go to


The Web3Wallet object describes a Web3 wallet address. The address can be used as a proof of identification for users.

Web3 addresses must be verified to ensure that they can be assigned to their rightful owners. The verification is completed via Web3 wallet browser extensions, such as Metamask. The Web3Wallet3 object holds all the necessary state around the verification process.

The verification process always starts with the Web3Wallet.prepareVerification() or signIn.prepareFirstFactor() method, which will send the wallet address to Clerk Frontend API and will receive a nonce that needs to be signed by the Web3 wallet browser extension.

The second and final step involves an attempt to complete the verification by calling Web3Wallet.attemptVerification() method, passing the generated signature as a parameter.


idstringA unique identifier for this web3 wallet.
web3WalletstringIn Ethereum, the address is made up of 0x + 40 hexadecimal characters.
verificationVerificationAn object holding information on the verification of this web3 wallet.



function create(): Promise<Web3Wallet>;

Creates a new web3 wallet.


function destroy(): Promise<void>;

Deletes this web3 walllet.


function toString(): string;

Returns the web3Wallet hexadecimal string.

Additional methods

In addition to the methods listed above, the Web3Wallet class also has the following methods:


Last updated on October 10, 2023

What did you think of this content?

Clerk © 2023