Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions contracts/1/0xa7a3022249415e25752c4cf8696c2418defdf2db.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
{
"$schema": "https://evmnow.github.io/contract-metadata/v1/schema.json",
"chainId": 1,
"address": "0xa7a3022249415e25752c4cf8696c2418defdf2db",
"meta": {
"version": 1,
"lastUpdated": "2026-08-21T00:00:00Z",
"locale": "en"
},
"name": "Artificial After All",
"symbol": "AAA",
"description": "The factory that mints the 256 Artificial pieces, each a sovereign onchain generative artwork contract.",
"about": "## About\n\nArtificial After All (2026) is the factory contract by Han that mints the Artificial series. Each mint deploys a new, fully independent `Artificial` contract — one of 256 sovereign pieces, each holding a compressed neural network, an inference engine, and its own built-in marketplace onchain (see 0xbdf5a7f5e5ae18ee580139297c63a89fc1d18b5f for one piece).\n\n## Minting\n\nThe edition is capped at 256. The first 64 are reserved for the artist and mint for free; the remaining pieces mint for a fixed 0.128 ETH each. On each mint the factory derives a seed from the block randomness, the minter, and the count, deploys a new `Artificial` contract owned by the minter, and records it in the `isArtificial` registry. Collected mint proceeds can be swept by the artist via `collect()`.",
"risks": [
"No upgradeability — contract logic is permanent and cannot be patched",
"The artist alone can call collect(), which sweeps the entire ETH balance to the artist",
"The first 64 pieces mint for free and are reserved for the artist",
"Mint seed derives from block.prevrandao, which validators can influence to a limited degree"
],
"category": "nft",
"tags": ["art", "generative", "onchain", "neural-network", "ai", "factory"],
"links": [
{
"label": "Etherscan",
"url": "https://etherscan.io/address/0xa7a3022249415e25752c4cf8696c2418defdf2db"
},
{
"label": "Example piece (Artificial)",
"url": "https://etherscan.io/address/0xbdf5a7f5e5ae18ee580139297c63a89fc1d18b5f"
},
{ "label": "Artist", "url": "https://han.io" },
{ "label": "X (Twitter)", "url": "https://x.com/hanrgb" }
],
"groups": {
"collection": { "label": "Collection", "order": 1 },
"mint": { "label": "Mint", "order": 2 },
"admin": { "label": "Admin", "order": 3 }
},
"actions": {
"name": {
"order": 0,
"title": "Name",
"description": "The name of the collection (Artificial After All).",
"stateMutability": "view",
"group": "collection"
},
"symbol": {
"order": 1,
"title": "Symbol",
"description": "The collection symbol (AAA).",
"stateMutability": "view",
"group": "collection"
},
"thisMany": {
"title": "Edition Size",
"description": "The total number of Artificial pieces that can ever be minted (256).",
"stateMutability": "view",
"group": "collection",
"returns": { "_0": { "label": "total" } }
},
"thisMuch": {
"title": "Mint Price",
"description": "The fixed price to mint a piece once the artist reserve is exhausted.",
"stateMutability": "view",
"group": "collection",
"returns": { "_0": { "label": "price", "type": "eth" } }
},
"thisForArtist": {
"title": "Artist Reserve",
"description": "The number of pieces reserved for the artist to mint for free (64).",
"stateMutability": "view",
"group": "collection",
"returns": { "_0": { "label": "reserved" } }
},
"isArtificial": {
"title": "Is Artificial Piece",
"description": "Check whether an address is a piece deployed by this factory.",
"stateMutability": "view",
"group": "collection",
"params": {
"_0": { "label": "address", "type": "address" }
},
"returns": {
"_0": { "label": "is piece", "type": "boolean" }
}
},
"createArtificial": {
"title": "Mint Piece",
"description": "Mint a new Artificial piece to yourself by sending the exact mint price in ETH.",
"intent": "Mint an Artificial piece",
"group": "mint",
"featured": true,
"warning": "Sends ETH. The exact mint price must be sent. The artist reserve mints are restricted to the artist.",
"related": ["thisMuch", "thisMany"]
},
"artist": {
"title": "Artist",
"description": "The artist address that deployed the factory and receives mint proceeds.",
"stateMutability": "view",
"group": "admin",
"returns": { "_0": { "label": "artist", "type": "address" } }
},
"collect": {
"title": "Collect Proceeds",
"description": "Sweep the entire ETH balance of the factory to the artist. Only the artist can call this.",
"group": "admin",
"related": ["artist"]
}
},
"events": {
"Created": {
"title": "Piece Created",
"description": "Emitted when a new Artificial piece is minted, recording its address, minter, and seed.",
"params": {
"artpiece": { "label": "piece", "type": "address" },
"minter": { "label": "minter", "type": "address" },
"seed": { "label": "seed" }
}
}
},
"errors": {
"NotArtist": {
"title": "Not Artist",
"description": "Only the artist can perform this action."
},
"SoldOut": {
"title": "Sold Out",
"description": "All 256 pieces have already been minted."
},
"WrongAmount": {
"title": "Wrong Amount",
"description": "The ETH amount sent does not match the required mint price."
},
"TransferFailed": {
"title": "Transfer Failed",
"description": "ETH transfer failed. Ensure the recipient address can receive ETH."
}
}
}
227 changes: 227 additions & 0 deletions contracts/1/0xbdf5a7f5e5ae18ee580139297c63a89fc1d18b5f.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
{
"$schema": "https://evmnow.github.io/contract-metadata/v1/schema.json",
"chainId": 1,
"address": "0xbdf5a7f5e5ae18ee580139297c63a89fc1d18b5f",
"meta": {
"version": 1,
"lastUpdated": "2026-08-21T00:00:00Z",
"locale": "en"
},
"name": "Artificial",
"symbol": "A",
"description": "A generative artwork with a compressed neural network and inference engine onchain, plus a built-in marketplace.",
"about": "## About the artpiece\n\nArtificial (2026) is a generative work by Han in which a small neural network is stored, compressed, and executed entirely within an Ethereum smart contract. Each piece holds an immutable seed; calling `artificial()` runs the onchain inference engine over the trained weights to produce a 32x32 grayscale image, and `artificialHTML()` returns a self-contained HTML document that renders it on a canvas. The network, its quantized weights, and the renderer all live onchain, so the work needs no external infrastructure.\n\n## One of 256\n\nArtificial is one of 256 sovereign contracts minted by the `ArtificialAfterAll` factory (0xa7a3022249415e25752c4cf8696c2418defdf2db). Each edition is its own independent contract with its own owner, seed, and marketplace. The factory that created this piece is recorded permanently in the immutable `parent` field.\n\n## Built-in marketplace\n\nThe contract includes a native fixed-price marketplace. The owner can list the piece for sale at a set price, open to anyone, and any buyer can purchase it by sending the exact asking amount. Sale proceeds are credited to pending withdrawals and must be claimed manually via `withdraw()`. There are no royalties and no bidding.",
"risks": [
"No upgradeability — contract logic is permanent and cannot be patched",
"ETH withdrawal pattern — sale proceeds must be manually withdrawn via withdraw()",
"No royalties — sales pay the seller in full and earn the artist nothing on resale",
"transferOwnership moves the piece off-market for free with no payment involved"
],
"category": "nft",
"tags": ["art", "generative", "onchain", "neural-network", "ai", "edition"],
"links": [
{
"label": "Etherscan",
"url": "https://etherscan.io/address/0xbdf5a7f5e5ae18ee580139297c63a89fc1d18b5f"
},
{
"label": "Factory (Artificial After All)",
"url": "https://etherscan.io/address/0xa7a3022249415e25752c4cf8696c2418defdf2db"
},
{ "label": "Artist", "url": "https://han.io" },
{ "label": "X (Twitter)", "url": "https://x.com/hanrgb" }
],
"groups": {
"artwork": { "label": "Artwork", "order": 1 },
"marketplace": { "label": "Marketplace", "order": 2 },
"admin": { "label": "Admin", "order": 3 }
},
"actions": {
"name": {
"order": 0,
"title": "Name",
"description": "The name of the artwork (Artificial).",
"stateMutability": "view",
"group": "artwork"
},
"symbol": {
"order": 1,
"title": "Symbol",
"description": "The token symbol (A).",
"stateMutability": "view",
"group": "artwork"
},
"artificialHTML": {
"order": 2,
"title": "View Artpiece",
"description": "Returns a self-contained HTML document that renders the generated image. Open in a browser to view the piece.",
"stateMutability": "view",
"group": "artwork",
"featured": true
},
"artificial": {
"order": 3,
"title": "Generate Pixels",
"description": "Runs the onchain neural network over this piece's seed and returns the raw 32x32 grayscale pixel bytes.",
"stateMutability": "view",
"group": "artwork",
"returns": { "_0": { "label": "pixels" } }
},
"seed": {
"order": 4,
"title": "Seed",
"description": "The immutable seed that determines the generated image for this piece.",
"stateMutability": "view",
"group": "artwork",
"returns": { "_0": { "label": "seed" } }
},
"owner": {
"order": 0,
"title": "Owner",
"description": "The current owner of the artwork.",
"stateMutability": "view",
"group": "marketplace",
"returns": { "_0": { "type": "address" } }
},
"currentOffer": {
"title": "Current Offer",
"description": "Check whether the artwork is currently listed for sale and at what price.",
"stateMutability": "view",
"group": "marketplace",
"returns": {
"active": { "label": "for sale", "type": "boolean" },
"value": { "label": "price", "type": "eth" }
},
"related": ["buyNow", "listForSale"]
},
"buyNow": {
"title": "Buy Now",
"description": "Purchase the artwork at its listed price by sending the exact asking amount in ETH while it is for sale.",
"intent": "Buy Artificial for the listed price",
"group": "marketplace",
"featured": true,
"warning": "Sends ETH. The exact listed price must be sent — no more, no less.",
"related": ["currentOffer", "listForSale"]
},
"listForSale": {
"title": "List for Sale",
"description": "List the artwork for sale at a fixed price, open to anyone. Only the owner can call this.",
"intent": "List Artificial for sale at {salePriceInWei}",
"group": "marketplace",
"params": {
"salePriceInWei": { "label": "price", "type": "eth" }
},
"related": ["cancelFromSale", "buyNow"]
},
"cancelFromSale": {
"title": "Cancel Sale",
"description": "Remove the artwork from sale. Only the owner can call this.",
"group": "marketplace",
"related": ["listForSale", "currentOffer"]
},
"withdraw": {
"title": "Withdraw ETH",
"description": "Withdraw ETH owed to you from a completed sale.",
"group": "marketplace",
"related": ["pendingWithdrawals"]
},
"pendingWithdrawals": {
"title": "Pending Withdrawals",
"description": "Check the amount of ETH an address can withdraw from a completed sale.",
"stateMutability": "view",
"group": "marketplace",
"params": {
"_0": { "label": "address", "type": "address" }
},
"returns": {
"_0": { "type": "eth" }
},
"related": ["withdraw"]
},
"transferOwnership": {
"title": "Transfer Ownership",
"description": "Transfer the artwork off-market to another address, canceling any active listing.",
"intent": "Transfer Artificial to {newOwner}",
"group": "admin",
"warning": "This is a direct transfer with no payment involved. Make sure you intend to send the artwork for free.",
"params": {
"newOwner": { "label": "new owner", "type": "address" }
}
},
"parent": {
"title": "Parent",
"description": "The factory contract (Artificial After All) that minted this piece.",
"stateMutability": "view",
"group": "admin",
"returns": { "_0": { "label": "factory", "type": "address" } }
}
},
"events": {
"ArtificialCreated": {
"title": "Artificial Created",
"description": "Emitted when the piece is created, recording its owner and seed.",
"params": {
"creator": { "label": "creator", "type": "address" },
"seed": { "label": "seed" }
}
},
"OwnershipTransferred": {
"title": "Ownership Transferred",
"description": "Emitted when ownership of the artwork changes.",
"params": {
"oldOwner": { "label": "from", "type": "address" },
"newOwner": { "label": "to", "type": "address" }
}
},
"ListedForSale": {
"description": "Emitted when the artwork is listed for sale.",
"params": {
"value": { "label": "price", "type": "eth" },
"fromAddress": { "label": "seller", "type": "address" }
}
},
"SaleCanceled": {
"description": "Emitted when a sale listing is canceled.",
"params": {
"fromAddress": { "label": "seller", "type": "address" }
}
},
"SaleCompleted": {
"description": "Emitted when the artwork is sold via buyNow.",
"params": {
"value": { "label": "sale price", "type": "eth" },
"fromAddress": { "label": "seller", "type": "address" },
"toAddress": { "label": "buyer", "type": "address" }
}
},
"Withdrawn": {
"description": "Emitted when an address withdraws ETH owed from a sale.",
"params": {
"wallet": { "label": "wallet", "type": "address" },
"amount": { "label": "amount", "type": "eth" }
}
}
},
"errors": {
"NotOwner": {
"title": "Not Owner",
"description": "Only the current owner can perform this action."
},
"TransferFailed": {
"title": "Transfer Failed",
"description": "ETH transfer failed. Ensure the recipient address can receive ETH."
},
"InsufficientFunds": {
"title": "Insufficient Funds",
"description": "The amount sent does not match the required sale price."
},
"NotForSale": {
"title": "Not for Sale",
"description": "The artwork is not currently listed for sale."
},
"NullAddress": {
"title": "Null Address",
"description": "Cannot transfer ownership to the zero address."
}
}
}