ABX is an open protocol and toolkit for creating, operating, and serving NFTs. This monorepo contains the Solidity contracts, TypeScript SDK, command-line interface, reference services, agent skill, and public documentation.
ABX is adding EVM networks. See the current network table before deploying.
Give this prompt to your coding agent:
Read https://docs.abx.io/docs/using-abx/quickstart, install the ABX skill, and help me launch ⟨describe your project⟩.
Or install the CLI directly:
npm install -g @artblocks/abx-cli
abx doctorThe complete user guide, protocol reference, deployment addresses, and API documentation are at docs.abx.io.
| Path | Contents |
|---|---|
contracts/ |
Foundry project: token implementations, factories, renderers, minters, scripts, and tests |
packages/sdk/ |
Provider-neutral TypeScript SDK |
packages/cli/ |
abx CLI and the bundled end-user agent skill |
packages/indexer/ |
Event-based reference indexer |
packages/token-api/ |
Reference metadata and control-plane service |
packages/storage/ |
Filesystem, S3-compatible, and IPFS storage adapters, plus the Arweave backend's config/identity logic |
packages/storage-arweave/ |
Optional ArDrive Turbo uploader for Arweave |
packages/effects/ |
Reference rendering/effects runner |
site/ |
Source for the public documentation site |
contributor/ |
Contributor-only distribution tests and cold-agent regression suite |
fixtures/ |
Shared media and code inputs for CLI and cold-agent regression tests |
The public docs site is the authoritative prose reference. Contract behavior is ultimately defined by the deployed bytecode and source; package behavior is defined by source and tests. The repository does not maintain a second set of narrative specifications.
Requirements:
- Node.js 22.13 or newer
- pnpm 10 (pinned by
packageManager) - Foundry 1.4.3 for contract development
pnpm install --frozen-lockfile
pnpm build
pnpm test
cd contracts
forge soldeer install
forge testRun the working-tree CLI with pnpm abx …; a bare abx may resolve to a globally installed
release. See CONTRIBUTING.md before changing contracts, generated ABIs,
documentation, or published packages.
The @artblocks/abx-* packages are published independently to npm. Changesets describe user-visible
package changes, and GitHub Actions creates version PRs and publishes through npm trusted publishing.
Package changelogs begin with the public source release.
Do not report vulnerabilities or credentials in a public issue. See SECURITY.md for the private reporting path and supported-version policy.
Original TypeScript packages, documentation, tooling, and code fixtures are MIT licensed. Four OpenMoji media fixtures are CC BY-SA 4.0. Solidity contracts are LGPL-3.0-only unless a file's SPDX header says otherwise. See LICENSES.md for the exact scope and third-party notice guidance.