COSIGN
RH MAINNET

AN ONCHAIN AGREEMENT BETWEEN TWO WALLETS

Mint only if
they co-sign.

One action is not enough. COSIGN turns mutual intent into two linked, tradable NFTs with a permanent shared origin.

WALLET A
01 / AORIGIN: PAIR #0001
WALLET B
01 / BORIGIN: PAIR #0001

SEPARATE TOKENS.
PERMANENTLY RELATED.

Most mints prove that one wallet clicked.

COSIGN proves that
two wallets agreed.

01 / THE MECHANISM

Two signatures.
One shared origin.

01

Create

Wallet A signs a gasless request and receives a private invite link.

02

Accept

Wallet B opens the link and signs the same pair request. No simultaneous signing.

03

Mint

Either wallet submits one transaction. The contract mints one NFT to each wallet.

04

Verify

Both tokens retain the same immutable pair ID, even after they are traded.

02 / PROTOCOL SPEC

Simple outside.
Verifiable inside.

The user only shares a link, signs, and mints. The protocol handles identity binding, replay protection, token pairing, and ownership records.

ERC-721Two standard, transferable NFTs are created for every completed pair.
EIP-712Typed wallet signatures bind both wallets to one readable pair request.
EIP-2981Marketplace royalty information is exposed through a standard interface.
PAIR IDBoth token IDs resolve to the same permanent onchain origin record.
PROPOSED INTERFACESolidity
struct PairPermit {
  address walletA;
  address walletB;
  uint256 nonce;
  uint256 deadline;
}

function mintPair(
  PairPermit calldata permit,
  bytes calldata sigA,
  bytes calldata sigB
) external payable returns (
  uint256 tokenA,
  uint256 tokenB
);

function pairedToken(uint256 tokenId)
  external view returns (uint256);
01 A ≠ B02 ONE-TIME NONCE03 EXPIRING INVITE04 REPLAY PROTECTED

Final source code will be published and verified before minting opens.

03 / THE BATCH

10 pairs enter.
3 mint free.

Every completed pair joins a ten-pair batch. Three pairs receive a full mint-fee refund after the batch closes. Gas stays paid to the network.

FINAL CONTRACT RULES PENDING
01020304050607080910
CHAINROBINHOODmainnet
OUTPUT2 NFTsone for each wallet
MINT≈ $1 / PAIRabout $0.50 per wallet
PAIRING2 WALLETSrequired to mint

04 / WHAT STAYS TRUE

The NFT can move.
The origin cannot.