Overview

What is DelegateRegistry, who's using it, and how you can use it

delegate.xyz is the best solution to secure valuable onchain assets while still participating in NFT airdrop claims, ERC20 token governance, and more. Users link cold wallets with hot wallets, and then the hot wallet can act on behalf of the cold wallet, like crypto power-of-attorney. It can be incorporated into login flows, token-gated minting & claiming, gaming actions, DAO governance, and more. By integrating the registry, your product improves by (1) derisking new user acquisition from those who have already delegated; (2) making it safer and easier for existing users to interact with your app from hot/mobile wallets without risking security. Get in touch if you're interested in using!

Who's Using It?

We've seen 150+ project integrations onchain, and even more offchain. This is a list of highlights, not comprehensive. Analytics nerds can dive even deeper by looking at registry code integrations on Codeslaw. Unique usecases are bolded on their first appearance in the list.

ProjectSummaryDescriptionLink

Azuki

Allowlisted minting

Directly enabled ~2000+ Elementals mints

OpenSea

Theft prevention

Introduced 3-hour hold period on transferred assets, using Delegate to wallet ownership

Yuga Labs HV-MTL

Gaming access

Mint HV-MTL from a hotwallet, then delegate gameplay rights to other addresses

Yuga Labs SewerPass

Gaming access

Mint Sewerpass from a hotwallet, then delegate gameplay rights to other addresses

Opepen

Tokengated reveal

Opepen holders can opt into a new set reveal with delegated wallet

Tokenproof

Event ticketing

Their offchain integration lets people claim event tickets/QR codes with a delegated wallet

EthPass/Moonpay

Event ticketing

Their offchain integration lets people claim event tickets/QR codes with a delegated wallet

ArtBlocks

Allowlisting platform minting

Their core drop allowlisting mechanic lets artists and friends mint using delegated wallets

Manifold

Allowlisting platform minting

Proves ownership of an allowlisted address

Premint

Allowlisting platform minting

Proves ownership of an allowlisted address

Braindrops

Allowlisting platform minting

Their core drop allowlisting mechanic lets artists and friends mint using delegated wallets

ForgottenRunes

NFT airdrop

Their Trick-Or-Treat experience gave an airdrop to cryptopunks, bored apes, and more

Nouns

Onchain governance

Users can pool nouns and take voting actions from a delegated wallet

InvisibleFriends

NFT airdrop

Their 3D drop gave a free claim to holders of the original collection

Phaver

Social media access control

Users can login to their crypto social with delegated wallets

Friendship Bracelets

NFT airdrop

Their airdrop gave a 2x free claim to artblocks holders

BendDAO

Utility access while in lending platform

Users keep utility access (discord chats, airdrop claims, etc) while using their NFT as collateral

ParaSpace

Utility access while in lending platform

Users keep utility access (discord chats, airdrop claims, etc) while using their NFT as collateral

Arcade

Utility access while in lending platform

Users keep utility access (discord chats, airdrop claims, etc) while using their NFT as collateral

Bitcoin Ordinals

Tokengated minting

Prove token ownership before using an ETH-BTC bridge to mint an ordinal version

Nakamigos

NFT airdrop

Free Cloaks to Nakamigos holders

CollabLand

Discord access

Connect a hot wallet to access tokengated Discord channels

Vulcan

Discord access

Connect a hot wallet to access tokengated Discord channels

What are the Features?

  • Fully Onchain

    There are no offchain signatures floating around a hidden relay network. This gives users important assurances that what you see is what you get. Attack vectors like the OpenSea stale listings problem are prevented.

  • Fully Enumerable

    We provide onchain methods to get a complete list of all delegations for both cold and hot wallets. No event parsing needed. This greatly simplifies integration efforts for both smart contract and frontend developers.

  • Fully Independent

    There are zero external dependencies or admin/governance control, so the attack surface is locked down and the registry can deployed on any EVM chain of your choice.

  • Fully Immutable

    There are zero admin powers. Because governance is an attack vector, there should be none of it in a neutral trustless delegation standard. The standard is designed to be as flexible as possible, but upgrades are always possible by deploying a new registry with different functionality.

  • Fully Verifiable

    By using vanity addresses for CREATE2 deployment, the contract can be permissionlessly deployed at the same 14-leading-zeros address across multiple chains. This makes it easier for end users to verify that they’re interacting with the correct contract.

How does it work for normal crypto users?

You’ll use https://delegate.xyz/ to assign a hotwallet delegate for your coldwallet vault - that's it. The delegate has permission to claim airdrops or other utility on behalf of the vault, but it cannot touch anything within the vault. The granular permissioning lets you assign a delegate for either (1) everything; (2) a specific contract; (3) a specific token. For fungible ERC20/1155 tokens you'll be prompted to enter a specific token amount to delegate; for nonfungible ERC721/1155 tokens you'll be prompted to enter a specific token id to delegate.

How about smart contract wallets like Gnosis Safe or 4337?

Since the registry does not rely on offchain signatures and instead exclusively uses `msg.sender` for authentication, it works just as well for smart contract wallets as it does for externally-owned-accounts (EOAs) like Metamask/Rabby/Rainbow.

For Gnosis Safe, follow the instructions here for using WalletConnect. WalletConnect should also work for other smart contract wallet types.

How does it work for smart contract devs?

Writing a smart contract? Follow the instructions in Smart Contract Examples. Import the the IDelegateRegistry.sol interface to interact with the deployed registry address found in Contract Addresses. You'll query the registry to see if a delegated address has permissions to act on behalf of another.

How does it work for frontend devs?

Use the JavaScript SDK or HTTP REST API found in Setup to fetch a list of incoming and outgoing delegations for a connected wallet.

Comparison with Status Quo

Last updated