As we know, each ERC721 token is unique in the sense that each of them is assigned to an address. I wonder if it is possible to go further and make tokens that is unique to a pair of addresses? i.e. the token can be seen as uniquely belonging to the relationship of two addresses. This will be useful as it opens up scenarios where relations between people, or between transactions, can themselves be tokenized.

  • You can just set two addresses as "admin" (or whatever the name can be), and add a modifier that only allow these addresses to use the functions of the contract. Apr 23, 2018 at 6:58
  • Will it be transferable?
    – Danny
    Apr 23, 2018 at 8:32
  • As long as you support the functions and events in the definition of the standard, then your token will still be 'transferrable.' You can add functions/events/capabilities to a standard, but you can't neglect to implement the things in the standard. (Well, you can, but then all bets are off about support from various tools. The standard allows the tools to know how to handle a token--adding stuff doesn't change that.) Apr 23, 2018 at 13:48

1 Answer 1


Yes. Here's an example in pseudocode:

findNFTFromAddresses(address1, address2)
    NFTID = sha3(min(address1, address2), max(address1, address2))

This is assuming an undirected graph. For a directed graph, use:

findNFTFromAddresses(address1, address2)
    NFTID = sha3(address1, address2)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.