Onboard users to web3
Onboard anyone with flexible auth options, secure account recovery, and smart account integration.
Build your own Ecosystem
Build a public or permissioned ecosystem by allowing third party apps and games to connect to the same accounts.
import { ecosystemWallet } from "thirdweb/wallets";
import { ConnectEmbed } from "thirdweb/react";
const wallets = [
// all settings are controlled in your dashboard
// including permissions, auth options, etc.
ecosystemWallet("ecosystem.your-ecosystem-name"),
];
function App() {
return <ConnectEmbed client={client} wallets={wallets} />;
}
View Linked Profiles
View all web2 and web3 linked profiles for a user along with specific details for each profile type, including name, email, profile picture and more.
import { useProfiles } from "thirdweb/react";
function App() {
const { data: profiles } = useProfiles({
client,
});
return (
<div>
{profiles?.map((profile) => (
<div key={profile.type}>
<ProfileCard profile={profile} />
</div>
))}
</div>
);
}
Login to see linked profiles
Link another profile
Link a web2 or web3 profile to the connected account.
You can do this with hooks like shown here or from the prebuilt connect UI.
import { useLinkProfile } from "thirdweb/react";
function App() {
const {
mutate: linkProfile,
isPending,
error,
} = useLinkProfile();
const linkMetamask = () => {
// link any external wallet
linkProfile({
client: THIRDWEB_CLIENT,
strategy: "wallet",
wallet: createWallet("io.metamask"), // or any other wallet
chain: baseSepolia,
});
};
const linkPasskey = () => {
// link any web2 identity provider
linkProfile({
client: THIRDWEB_CLIENT,
strategy: "passkey", // or "email", "phone", etc.
type: "sign-up",
});
};
return (
<div>
<button onClick={linkMetamask}>Link Metamask</button>
<button onClick={linkPasskey}>Link Passkey</button>
</div>
);
}
Login to link another account.