Upload your compiled Aztec contract to make artifacts available for others.
Store, verify, and share artifacts in one place.
Upload your compiled Aztec contract JSON files
Drag & drop or click to browse (multiple files supported)
Compatible with aztec.js 4.0.0-devnet.2-patch.0
All endpoints return JSON. No authentication required.
/api/uploadUpload a compiled Aztec contract. Validates structure, extracts class ID, verifies deployment on the Aztec network, and stores the artifact.
curl -X POST https://devnet.aztec-registry.xyz/api/upload \
-F 'file=@/path/to/contract.json'{
"success": true,
"filename": "0x2c01847b...json",
"classId": "0x2c01847b...d92029",
"contractName": "Token",
"functionCount": 42
}/api/artifactsRetrieve metadata for all stored artifacts, sorted by upload date (newest first).
curl https://devnet.aztec-registry.xyz/api/artifacts[
{
"classId": "0x2c01847b...",
"name": "Token",
"functionCount": 42,
"fileSize": 10067321,
"uploadedAt": "2025-10-22T12:34:56.789Z"
}
]/api/artifacts/:classIdRetrieve the full artifact JSON file by class ID. The JSON will be displayed inline in the browser.
curl -o artifact.json \
https://devnet.aztec-registry.xyz/api/artifacts/0x2c01847b...d92029Fetch an artifact and deserialize it into a typed ContractArtifact ready for Aztec.js.
import { ContractArtifactSchema } from "@aztec/stdlib/abi";
const CLASS_ID = "0x2c01847b...";
const response = await fetch("https://devnet.aztec-registry.xyz/api/artifacts/" + CLASS_ID);
const json = await response.json();
const artifact = await ContractArtifactSchema.parseAsync(json);
console.log(artifact.name); // "Token"
console.log(artifact.functions.length); // 42