Operate
Manage a live ABX project.
Every write accepts the same signing modes and --dry-run.
Ownership and policy
abx set-admin <address> --to 0xNewOwner
abx set-royalty <address> --bps 500 --receiver 0xReceiver
abx set-minter <address> --minter 0xMinter
abx set-primary-payee <address> --payee 0xPayee
abx pause <address>
abx unpause <address>Royalty and supply ceilings can only fall. A project enrolled in 721C or 1155C may change or suspend its transfer validator, but it cannot leave the standard.
Metadata
abx set-token-uri <address> --uri https://metadata.example.com
abx set-contract-uri <address> --uri https://metadata.example.com
abx set-renderer <address>
abx set-renderer <address> --off
abx set-gateway <address> --ipfs https://gateway.example/ipfs/
abx refresh <address>For an edition, run abx ping-uri <address> --token-ids <csv-or-range> after a contract-wide URI
change if a consumer relies only on ERC-1155 URI events.
Add a named file or metadata field:
abx attach <address> <key> <uri>
abx set-field <address> --field <name> <options>abx attach prints the canonical fetch URL and checks whether the resolver serves the project. The
field write and resolver check are separate results.
Replacing a code project's script
abx replace-script <address> --script <file>Before abx lock-script, replace-script sends only changed chunks, applies them atomically, and
checks the assembled result. It refuses a locked script or non-code contract.
Both commands accept --chunk-size <bytes>. The default onchain split is about 22 KB.
Supply and transfers
abx mint <address>
abx transfer <address> --token 0 --to 0xRecipient
abx set-max-invocations <address> --max 100Editions use token IDs and amounts:
abx mint <address> --token-id 0 --amount 2
abx transfer <address> --token 0 --amount 2 --from 0xSender --to 0xRecipient
abx set-max-supply <address> --token-id 0 --cap 100Permanent locks
abx lock-field <address> --field image
abx lock-uri <address>
abx lock-uri <address> --collection
abx lock-script <address>
abx lock-dependencies <address>
abx lock-param-hooks <address>Each lock is independent. Freezing one setting does not freeze another.
URI locks do not freeze parameters. Metadata locks do not freeze bytes held by an external dependency
registry. abx lock-param-hooks freezes the configure, augment, and transfer hook addresses. An
active transfer hook can reject transfers and mints. Confirm every served field before locking.
Never lock a token or collection URI to a domain you do not control. A base URI can be changed until
you lock it; after that, it is permanent. If you use a managed resolver, route a domain you control
to it and verify that route before locking. ABX Services does not currently support custom-domain
routing, and the CLI refuses to lock any abx.io URI.
abx lock-field checks whether token or collection scope serves the visible value. It refuses the
wrong scope and prints the right command. --force-field can lock a non-serving scope deliberately.
abx state <address> reports URI, script, dependency, hook, and standard metadata locks. Custom field
locks require an indexer over ContractFieldLocked events.
Freeze a parameter by locking its schema:
abx set-schema <address> --schema <key>:<Type>:<Auth>:lock=nowVerify
Local verification needs a local registration:
abx add <address>
abx verify <address> --jsonUse abx verify <address> --remote <name|url> for a hosted project.
The result separates two questions:
| Field | Meaning |
|---|---|
contentIntegrity | Do served bytes match onchain hash commitments? |
availability | Is the expected content available now? |
Only an integrity mismatch makes the command exit nonzero. Missing renders and unconfirmed external
locators affect availability instead. The result also reports whether the metadata renderer and
generator match the current canonical addresses. not current may mean an older or custom contract;
it does not mean the project is broken.
For code projects, onChainUri.chainComplete reports whether the template and dependencies resolve
entirely to onchain bytes. It is null for static image projects.
Local state
abx state <address> reads the contract, including every irreversible lock (see "Permanent locks"
above). abx tokens <address> lists indexed tokens. abx forget <address> removes only the local
registration; it does not touch the chain.