# Superrare Mint

> Mint art to a SuperRare-compatible ERC-721 collection on Ethereum via Bankr. Uploads media and metadata to SuperRare, dry-runs safely by default, and records auditable mint receipts.

- Skill: `dvcrn/superrare-mint` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add dvcrn/superrare-mint`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/superrare-mint/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/superrare-mint

---


# superrare-mint

Mint aaigotchi art into an existing SuperRare-compatible ERC-721 contract using Bankr signing.

## Scripts

- `./scripts/pin-metadata.mjs --name ... --description ... --image ... [--video ...] [--tag ...] [--attribute trait=value]`
  - Uploads media to SuperRare and pins metadata.
  - Prints JSON including `tokenUri` and `gatewayUrl`.
- `./scripts/mint-via-bankr.sh --token-uri <uri> [--contract <address>] [--receiver <address>] [--royalty-receiver <address>] [--chain mainnet|sepolia] [--broadcast]`
  - Builds calldata for `mintTo(string,address,address)` or `addNewToken(string)`.
  - Defaults to dry-run unless `--broadcast` is passed or `DRY_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 ... [options]`
  - End-to-end wrapper: upload metadata, then mint via Bankr.
  - Use `--metadata-only` to 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` or `sepolia`
- `collectionContract`
- `receiver`
- `royaltyReceiver`
- `rpcUrl`
- `apiBaseUrl`
- `descriptionPrefix`

## Defaults and safety

- Dry-run is the default. Mint transactions only broadcast with `--broadcast` or `DRY_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.sh` still uploads media/metadata to SuperRare before the dry-run mint preview. Use `--metadata-only` if you want to stop after pinning and inspect the token URI.
- If neither `receiver` nor `royaltyReceiver` is set, the skill calls `addNewToken(string)`.
- If either receiver field is provided, the skill calls `mintTo(string,address,address)`.
- If only one of `receiver` or `royaltyReceiver` is set, the other defaults to the same address.
- Successful broadcasts write receipts into `receipts/`.

## Bankr API key resolution

1. `BANKR_API_KEY`
2. `systemctl --user show-environment`
3. `~/.openclaw/skills/bankr/config.json`
4. `~/.openclaw/workspace/skills/bankr/config.json`

## Quick use

```bash
cp config.example.json config.json

./scripts/pin-metadata.mjs \
  --name "aaigotchi genesis #1" \
  --description "First aaigotchi genesis mint" \
  --image ./art.png

./scripts/mint-via-bankr.sh \
  --token-uri ipfs://... \
  --broadcast

./scripts/mint-art.sh \
  --name "aaigotchi genesis #1" \
  --description "First aaigotchi genesis mint" \
  --image ./art.png \
  --broadcast
```

## Timeouts

Optional environment variables:
- `BANKR_SUBMIT_TIMEOUT_SECONDS` (default `60`)
- `RECEIPT_WAIT_TIMEOUT_SECONDS` (default `300`)
- `RECEIPT_POLL_INTERVAL_SECONDS` (default `5`)

