/\/\/\
       /######\
     _|########|_
    |  []  []   |
    |    __     |
    |  _/  \_   |
    |___________|
      /|  |||\
     /_|__|||_\
    /  |  |||  \
   /___|__|||___\
+*sig*+

shipped from the on-chain swamp / drip 003

Punk Shit
($Punk)

Claude-native fair launch. Deposit ETH, sign one EIP-712 permit, then say “mint 10 Punk” in Claude. Open the confirm link and your wallet sends the transaction.

no 7702no private keyswallet confirmsmcp confirm link

total cap

420.69B

PUNK forever

mint pool

21,034

public slots

per slot

10,000,000

PUNK / mint

mint price

0.00111 ETH

vault spend

permit mode

active

until revoke / expire

// how it works

Deposit once. Sign once. Confirm mint when Claude asks.

01

Deposit

Send ETH to the vault. It covers up to the future mints you approve.

vault.deposit(value: 0.0111 ether)

02

Permit

Sign one EIP-712 typed message. The encrypted signature stays server-side.

wallet.signTypedData({ maxSlots })

// connect

Three entrypoints. Same MCP server. Pick yours.

The ChatGPT app, Claude connector, and Responses API all create the same kind of confirm link. None can submit the wallet transaction.

// wallet arming station

Ethereum Mainnet

01 / connect wallet

Connect Wallet

not connected

02 / deposit & sign permit

Deposit & Sign Permit

mint price

0.0111 ETH

03 / add claude connector

Add Claude Connector

Add this Remote MCP server to Claude. After that, ask Claude to mint Punk and it will create a wallet confirm link.

NamePunkShitRemote URLhttps://punkshit.fun/api/mcp
Add Claude Connector

04 / claude > mint 10 punk

Ask Claude To Mint

mint 10 punk

connect wallet, deposit the calculated mint price, then sign the encrypted permit

// withdraw & revoke

Withdraw & Revoke

Vault balance: -- · Permit: none

pull unused ETH back or revoke the active permit nonce

// proof not trust

Three pillars. All verifiable on-chain.

01

EIP-712, not 7702

Mint authorization is a normal typed signature. No account delegation.

domain.name = PunkVault

02

Wallet final say

Claude creates an intent. Your wallet opens the confirm page and sends the transaction.

mintWithPermit(...args)

03

No custody

No private key storage. Stored permits are encrypted and confirm tokens are hashed.

AES-GCM + SHA-256

// mcp tools exposed

create_mint_confirm_linkprepare a wallet confirmation link for N slots
token_balanceread PUNK balance for any address
token_infosupply / cap / mint price / contract metadata
mint_request_getremaining request state for caller
vault_balancecaller deposit balance in ETH
permit_statuscheck if caller has an active EIP-712 permit

// contracts

Verified contracts and locker.

PUNK TOKEN

0x190a351b061218C557077f13F0b6ed2b419173f2

loaded from env · Ethereum Mainnet

PUNKVAULT

0xb4eE491aF6C9ba6E2e16E5A1940432a0f8c621Da

loaded from env · Ethereum Mainnet

RELAYER EOA

0x0000...pending

not configured

LP NFT LOCK

0x0000...pending

not configured

// safety

Three ways out, anytime.

A

Vault withdraw

Anytime, no ask. Pull ETH back to your wallet with withdraw.

vault.withdraw(amount)

B

Revoke permit

Bump nonce on-chain. Old signatures become unusable.

vault.revokePermit()

C

Disconnect MCP

Remove the Claude connector. It stops seeing your prompt context.

Claude Settings > Connectors

never paste seed phrase. no private key custody. no autonomous tx.

Punk_shit 2026 / Ethereum Mainnet demo