superrare-mint
v0.3.0Mint art to a SuperRare-compatible ERC-721 collection on Ethereum or Base via Bankr. Requires an explicit mint mode so aaigotchi can clearly choose between an artist-given collection and an own-deployed SR factory collection before minting.
Installation
superrare-mint
Mint aaigotchi art into a SuperRare-compatible ERC-721 contract using Bankr signing.
Required mint choice
Before any mint, aaigotchi must clearly choose and state one of these modes:
- ownership-given
- mint into an existing collection already owned or handed over by a SuperRare artist
- requires --contract or config.json collectionContract
- own-deployed
- mint into a collection deployed through superrare-deploy
- requires a superrare-deploy receipt, either explicit or auto-resolved
Do not broadcast a mint without an explicit contract mode.
Scripts
./scripts/pin-metadata.mjs --name ... --description ... --image ... [--video ...] [--tag ...] [--attribute trait=value]- Uploads media to SuperRare and pins metadata.
- Prints JSON including
tokenUriandgatewayUrl. ./scripts/mint-via-bankr.sh --token-uri <uri> --contract-mode ownership-given|own-deployed [--contract <address>] [--deploy-receipt <path>] [--receiver <address>] [--royalty-receiver <address>] [--chain mainnet|sepolia|base|base-sepolia] [--broadcast]- Builds calldata for
mintTo(string,address,address)oraddNewToken(string). - Refuses to run without a clear contract mode.
- Prints the chosen mode and collection source before any broadcast.
- Validates that an
own-deployedreceipt matches the selected chain. - Defaults to dry-run unless
--broadcastis passed orDRY_RUN=0. - Submits without waiting on Bankr, then polls chain directly for the receipt.
- Writes a JSON receipt on successful broadcast.
./scripts/mint-art.sh --name ... --description ... --image ... --contract-mode ownership-given|own-deployed [options]- End-to-end wrapper: upload metadata, then mint via Bankr.
- Use
--metadata-onlyto stop after pinning and print the token URI.
Config
Default config path:
- config.json in this skill directory
Override with:
- SUPER_RARE_CONFIG_FILE=/path/to/config.json
Expected keys:
- chain: mainnet, sepolia, base, or base-sepolia
- contractMode: ownership-given or own-deployed
- collectionContract
- deployReceiptFile (optional explicit path to a superrare-deploy receipt)
- receiver
- royaltyReceiver
- rpcUrl
- apiBaseUrl
- descriptionPrefix
Defaults and safety
- Dry-run is the default. Mint transactions only broadcast with
--broadcastorDRY_RUN=0. - Supported chains are
mainnet,sepolia,base, andbase-sepolia. - Broadcast mode uses a short Bankr submit timeout and then waits for the onchain receipt directly, which avoids hanging on long confirmation waits.
mint-art.shstill uploads media/metadata to SuperRare before the dry-run mint preview. Use--metadata-onlyif you want to stop after pinning and inspect the token URI.- If neither
receivernorroyaltyReceiveris set, the skill callsaddNewToken(string). - If either receiver field is provided, the skill calls
mintTo(string,address,address). - If only one of
receiverorroyaltyReceiveris set, the other defaults to the same address. - Successful broadcasts write receipts into
receipts/.
Deploy receipt auto-resolution
In own-deployed mode, the skill looks for a deploy receipt in this order:
1. --deploy-receipt
2. SUPER_RARE_DEPLOY_RECEIPT_FILE
3. config.json deployReceiptFile
4. the latest receipt in a sibling superrare-deploy/receipts/ directory
The resolved deploy receipt must match the selected mint chain.
Bankr API key resolution
BANKR_API_KEYsystemctl --user show-environment~/.openclaw/skills/bankr/config.json~/.openclaw/workspace/skills/bankr/config.json~/.bankr/config.json
Quick use
cp config.example.json config.json
./scripts/mint-via-bankr.sh
--token-uri ipfs://...
--contract-mode ownership-given
--contract 0xYourArtistGivenCollection
--broadcast
./scripts/mint-via-bankr.sh
--token-uri ipfs://...
--contract-mode own-deployed
--chain base
--deploy-receipt ../superrare-deploy/receipts/2026-03-15T00-00-00Z-superrare-deploy.json
--broadcast
./scripts/mint-art.sh
--name "aaigotchi genesis #1"
--description "First aaigotchi genesis mint"
--image ./art.png
--contract-mode own-deployed
--chain base
--broadcast
Timeouts
Optional environment variables:
- BANKR_SUBMIT_TIMEOUT_SECONDS (default 60)
- RECEIPT_WAIT_TIMEOUT_SECONDS (default 300)
- RECEIPT_POLL_INTERVAL_SECONDS (default 5)