Sphincs Minus: A Post-Quantum Mint Token
abstract. Sphincs Minus is a meme coin with an EIP-712 attestation gate. A server creates a unique pkHash, signs a deadline-bound mint authorization, and lets the user submit the transaction directly. The contract verifies the attestation, enforces uniqueness, forwards the fee, and mints 500 $SPHINCSV2 in the same block.
1. background
1.1 the quantum threat
Post-quantum signatures are important, but expensive verification is not a good fit for a low-cost mint. The project uses post-quantum language as the theme and keeps the enforceable security boundary narrow and inspectable.
1.2 EIP-712 attestation mechanism
EIP-712 gives wallets and contracts a deterministic typed-data digest. Here the digest binds pkHash, recipient, and deadline to the deployed mint gate and Ethereum mainnet chain ID.
2. token specification
2.1 tokenomics
| field | value |
|---|---|
| name | Sphincs Minus |
| symbol | $SPHINCSV2 |
| decimals | 18 |
| hard cap | 21,000,000 |
| public mint | 10,000,000 |
| LP reserve | 10,000,000 |
| team | 1,000,000 minted to 0x...dEaD |
| price | 0.001 ETH |
| slots | 20,000 |
| chain | ethereum mainnet |
2.2 allocation rationale
The mint and LP reserves are symmetric. The team reserve exists only to demonstrate the hard cap and is immediately unspendable at the burn address.
2.3 revenue projection
If fully minted, public mint receipts equal 20,000 x 0.001 = 20 ETH. Fees are forwarded during each mint; the contract is not a treasury.
3. mint mechanism
3.1 trust model
The backend can deny service by not issuing signatures. It cannot mint extra supply, change the price, redirect a signed mint, pause the contract, or withdraw ETH from the contract.
3.2 message format
EIP712Domain( string name, string version, uint256 chainId, address verifyingContract ) Attestation( bytes32 pkHash, address recipient, uint256 deadline )
3.3 claim flow
- Generate a key and derive
pkHash. - Request an EIP-712 attestation for the recipient address.
- Call
mint(pkHash, recipient, deadline, v, r, s)with 0.001 ETH.
4. security
4.1 contract surface
| function | caller | effect |
|---|---|---|
mint | anyone | validates attestation and mints public allocation |
slotsRemaining | anyone | reads unused mint slots |
TOKEN | anyone | reads immutable token address |
4.2 threat model
| threat | mitigation |
|---|---|
| replay | pkUsed[pkHash] stores one-time use |
| wrong recipient | recipient is signed inside the attestation |
| expired signature | deadline checked before mint |
| supply inflation | token max supply and mint slot caps are constants |
| fee custody | ETH is forwarded immediately to the dev wallet |
5. why off-chain attestation
Off-chain attestation keeps the mint cheap, responsive, and transparent about where trust lives. The contract remains responsible for scarcity and recipient binding. The backend remains responsible only for issuing signed eligibility messages.
6. roadmap
| stage | trigger | action |
|---|---|---|
| v1 | deploy | open public attestation mint |
| v2 | records stabilize | publish verification scripts |
| v3 | browser support | move keygen fully client-side |
| final | 100% mint | pair LP reserve and stop changing things |
7. acknowledgements
Inspired by public-key signature research, meme markets, and the strange charm of minimal contracts. This is a meme coin. Please do not use it as collateral.