Become a SELF partner - Selling SELF identities

By reselling SELF's names, your company can generate an additional revenue stream while also contributing to the exposure and adoption of our technology.

How to become a reseller

Please fill out this form and a representative from SELF will get in touch with you as soon as possible.

Minting as reseller

If you are already an authorized reseller, on this section we will explain how to interact with our smart contract directly in order to register new names for your customers in a proper way.

You will find the smart contract that controls this functionality HERE.

The specific function to be used to register a name as a reseller is agentRegisterName(). This function takes and arguments the address where the NFT will be sent, and the name to be registered and minted

agentRegisterName()

function agentRegisterName(
    address _to,
    string calldata _name
)
    external
    whenNotPaused
    nonReentrant
    isLegalLength(_name)
    isLegal(_name)
    isNameNotReserved(_name)
    containsNoReservedWord(_name)
    returns (bool)
{
    if (!agents[msg.sender].isAgent) revert NotAgentError();

    uint _price = getPrice(_name);

    if (_price == 0) revert PriceNotSet();

    uint _agentCommission = ((_price * agents[msg.sender].commission) *
        (10 ** 6)) / 100;

    uint _remaining = ((_price) * (10 ** 12)) - _agentCommission;

    self.safeTransferFrom(_to, msg.sender, _agentCommission);

    self.safeTransferFrom(_to, address(this), _remaining);

    _registerName(_to, _name);

    collectedSelf += _remaining;

    return true;
}

Inmediately after the TX has been executed you'll receive on the provided wallet address the fee negotiated with our representative.

The function will return an error if the name was already registered, if the name is reserved, or you aren't registered as an authorized reseller.