Updates:
February 2026: Refactor and mild UI/UX improvements.
January-March 2021.
- v1 Restored along with a subgraph and design improvements.
New Release: June 2020.
- Launched new artwork with 100% patronage rate.
- Fixed bugs for v2.
- V1 Artwork is still for sale, but has a warning caution on edge cases that could stop it from functioning properly (front-running attacks can steal deposits + a contract buying it can block from it being sold in perpetuity). More details here: #18
TAIAOS is an art project that showcases a digital artwork that is always on sale through Harberger Tax property rights. The owner of the artwork always has to set a sale price, upon which it can be bought by anyone at any time. A continuous tax is levied as patronage towards the artist calculated on the owner's price they set. If the deposit does not cover the patronage owed, the smart contract steward can foreclose the artwork and take back ownership.
This smart contract is responsible for managing ownership over the artwork. It takes in a deposit and sets the price for the artwork (by the owner). Over time, it collects patronage towards the artist and forecloses the artwork in case the owner can't pay anymore.
February 2026 Note: I have not tested the refactored code for a full local system install (including a Docker-ified Graph node) and the recommendations are generated by Claude Code. It's unlikely that I'll try testing this (for now). Tests were ported to Foundry, but Hardhat is still used for the deploy scripts and etherscan verifications.
Prerequisites
- Node >= 18.18
- Yarn 1.x
- Docker (for optional local Graph node)
Install dependencies
yarn install
Environment variables
cp packages/nextjs/.env.example packages/nextjs/.env.local
NEXT_PUBLIC_GRAPH_API_KEY— required for mainnet dataNEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID— optional, enables mobile wallet QR
Next.js dev server
yarn dev
Opens at http://localhost:3000.
Local
As noted above. These have not been tested as of February 2026.
Local EVM node
yarn chain
Runs Foundry's anvil on localhost:8545.
Deploy contracts
yarn deploy:local
Runs the Hardhat deploy script against the local node.
Local Graph node (optional)
Run a Docker-based Graph node pointed at localhost:8545, then clone and deploy taiaos-subgraph with local contract addresses.
Contract tests
yarn test
yarn test:v
This is inspired by the book & idea, called Radical Markets by Glen Weyl & Eric Posner. Some references to work detailing some of these ideas for implementation in the arts:
https://medium.com/radicalxchange/radical-markets-in-the-arts-13c27d3b7283
https://blog.simondlr.com/posts/patronage-as-an-asset-class
https://blog.simondlr.com/posts/exploring-harberger-tax-in-patronage-markets
https://blog.simondlr.com/posts/new-markets-in-the-arts-property-rights
Feel free to fork this code and create your own artwork in this manner.
The initial ArtSteward.sol code was inspired by code from Billy Rennekamp: https://github.com/okwme/harberger-ads-contracts & Todd Proebsting: https://programtheblockchain.com/posts/2018/09/19/implementing-harberger-tax-deeds/.
Code License: MIT
