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
--contractorconfig.jsoncollectionContract
own-deployed- mint into a collection deployed through
superrare-deploy - requires a
superrare-deployreceipt, either explicit or auto-resolved
- mint into a collection deployed through
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] [--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.
- 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.
- Builds calldata for
./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.jsonin this skill directory
Override with:
SUPER_RARE_CONFIG_FILE=/path/to/config.json
Expected keys:
chain:mainnetorsepoliacontractMode:ownership-givenorown-deployedcollectionContractdeployReceiptFile(optional explicit path to asuperrare-deployreceipt)receiverroyaltyReceiverrpcUrlapiBaseUrldescriptionPrefix
Defaults and safety
- Dry-run is the default. Mint transactions only broadcast with
--broadcastorDRY_RUN=0. - 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:
--deploy-receiptSUPER_RARE_DEPLOY_RECEIPT_FILEconfig.jsondeployReceiptFile- the latest receipt in a sibling
superrare-deploy/receipts/directory
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 \
--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 \
--broadcast
Timeouts
Optional environment variables:
BANKR_SUBMIT_TIMEOUT_SECONDS(default60)RECEIPT_WAIT_TIMEOUT_SECONDS(default300)RECEIPT_POLL_INTERVAL_SECONDS(default5)