Holdfast

An Artephi gallery

How it works

An impression stays.
The place, the hands, the long line
travel with the work.

That is the promise. This page is how we keep it, what it costs, and what we decided not to do.

If you came to look

You begin with a work, then a place. Each artist has a page. You can read the sentence they wanted said, and only what they chose to show.

Some rooms on the front are examples, so you can see the kinds of work we keep. They are not artists we represent.

You do not have to buy anything to look. You cannot ask an artist for a commission, or write to them, unless you have joined and been accepted. That account is only for this gallery. It is not an Artephi login.

Join

If you made the work

Open an exhibit. Tell us your name, what you call the work, one sentence, and where it was made. The sentence does not have to be in English.

You choose what a visitor sees. The picture and how it was made. The picture only, with the making kept private. Or no picture at all, just the name, the place, and the sentence.

You choose whether it is for sale. Not for sale means people can look. For sale means you are willing to sell it, and you still hold it until it sells. The price is not set on that page.

The picture and the film can stay where you already keep them. We take a copy, so the page still shows the work if that link changes.

Join, then open your exhibit

What we look for

A person made it, and can say how. They named it. We can say where it was made. They are the ones who will hold it. If they want a picture on the page, there is a picture to look at.

We do not judge how well known you are, where you studied, or what the work should cost. A kind of work we do not have a room for yet is not a refusal. It waits.

We answer in a sentence. It goes on the wall. Or we need a change. Or we cannot show it. Nothing is put on the wall until we accept it.

The token

One work. Your hands.

The bowl stays with the maker.
A line is kept beneath it.
The gallery holds neither.

Yours

When we accept a work, the token is created in your address. It is called Holdfast. One token is one work. We cannot mint it to ourselves, and we cannot take it later.

The line

A plate can travel with it: the sentence, and how it was made if you shared that. Whoever holds the work can add the next line. We cannot.

The making

The token says who holds the work. It does not take the copyright. You made it. You still did.

The money

Money, when there is any, moves in USDC. It does not sit with us. On a sale it is paid out in the same step. We never hold the work, and we never hold the money between payments.

Keeping a work on the wall costs 1 USDC, paid by the artist. The first ten works are kept at no charge.

A work cannot be sold for less than 25 USDC. On the first sale, from the artist, the gallery takes 6 percent. The rest goes to the artist, and so does the shipping. The first sale of each of those first ten works is also without the gallery’s share.

On a later sale, from someone who is not the maker, 5 percent goes back to the maker, 2 percent goes to the gallery, and the rest goes to the seller. Shipping goes to the seller.

The holder can give the work away. The gallery cannot be the one who receives it. A gift ends the free first sale, if one was still waiting.

A sale can be undone if both people sign. A physical work has 14 days. A digital work has 48 hours. The money goes back, and the work goes back to the seller.

How to buy

You do not buy from the gallery. The gallery does not have the token, and it cannot take your payment and pass it on. You buy from the person who holds it. The money and the token move in the same transaction.

Looking is free. A work with no listed price is not for sale. The choice on the exhibit form, “for sale” or “not for sale,” only records what the artist hoped. The sale starts when the current holder lists a price on HoldfastSale. That price has to be at least 25 USDC. They also set the shipping, and whether the work is physical or digital. If they have not done that, there is nothing to buy.

When a listing is open, you pay that price and that shipping, not a number you choose. Your wallet calls buy on HoldfastSale with the token id, the listed price, the listed shipping, and the same physical or digital flag. The price and the shipping are USDC, six decimals. You must first allow the sale contract to take that amount. If any of those figures do not match the listing, the call reverts with NotOpen.

Your address cannot be the gallery, the staff address, the sale contract, or the address that already holds the work. In the same call, the USDC is split and paid out, the sale contract is left with a zero balance, and the token is conveyed to you. You are then ownerOf. The listing closes. You hold the work. You do not receive the copyright. That stays with the maker.

On the first sale, from the maker, the gallery’s 6 percent comes out of the price only, unless that sale is one of the first ten and is still free of that share. Shipping goes to the maker’s payees. On a later sale, 5 percent of the price goes back to the maker, 2 percent goes to the gallery, and the seller receives the rest of the price plus all of the shipping.

If you and the seller both sign, the sale can be undone. A physical work has 14 days. A digital work has 48 hours. The money is pulled back to you, and the token goes back to the seller. That pull only works if the people who were paid still allow the sale contract to move the USDC.

There is no separate checkout on this page. The purchase is that call. This preview’s chain is a local Anvil chain, id 31337, so a wallet on Ethereum or Base cannot complete it yet. When the title is on a public chain, the same call is the purchase. You use your own wallet, and the token shows there because you hold it.

What we decided

The front of the gallery is for looking, not for a shop. Sale is a choice the artist marks. It is not the way you enter.

We began in the Philippines. An artist can be from anywhere. The country is required. A town or a workshop is welcome. Working outside a capital is why we exist. It is not a rule that refuses a city.

We do not take the art, the copyright, or a monthly charge. There is no fee to look, and no fee to open an exhibit. The only charges are the ones above, and only when a work is kept or sold.

Marking a work for sale on the exhibit form records that you are willing. That mark is not the sale. A sale exists only when the holder lists a price on the contract, and a buyer pays that price.

The contracts

This part is for someone who wants the mechanism. The sentences above are the promise. These are the rules in the code.

There is one token standard. It is an ERC-721, Solidity 0.8.24, on OpenZeppelin’s ERC-721. The contract is HoldfastTitle. The name is Holdfast. The symbol is KEEP. There is no ERC-1155, no edition series, no fractional token, and no soulbound token. There is also no ERC-2981. A royalty is paid only when the sale goes through HoldfastSale. A plain transfer does not pay anyone.

The title

One token is one work. The id is a counter. The sale contract deploys the title, and that sale contract is the only operator. Only the operator can mint. Minting to the operator reverts with GalleryCannotHold, and so does any later transfer to the operator. The gallery address cannot buy, and neither can the staff address or the sale contract itself.

The token URI is the package: a sha256 of the place, the medium, the reveal, the stills, the transcript, and any film hash. The operator can replace that URI. Replacing it does not move the token. The picture itself is not stored on the chain. The artist hosts it at a public http or https address. We copy jpeg, png, webp, mp4, or webm, up to 24 megabytes, and we refuse a private host.

The holder, and only the holder, can append a bytes32 to the lineage. The first entry is keccak256 of the word origin. The gallery cannot append. The plate is a separate signature, not a second token. It is an EIP-191 personal signature over the token id, the package hash, and a plate code. The recovered signer must be ownerOf at the time the plate is read. If the holder changes, that plate is retired.

The operator can convey a token. That is narrower than it sounds. The title gives that power only to the sale contract, and the sale contract calls it in three places: a gift the holder started, a sale the holder had listed, and an unwind both parties signed. There is no function that lets the gallery take a work because it feels like it.

The sale

HoldfastSale is the operator. It is not a marketplace contract you list on from somewhere else. It holds neither the token nor a USDC balance. USDC here has 6 decimals. At the end of a buy, the sale contract’s USDC balance must be zero or the call reverts. Dust is not allowed to sit.

keep is staff-only. It mints to the artist and records up to four payees. The shares are in basis points and must sum to 10,000. The first payee must be the artist. If the keep is not comped, the artist pays 1 USDC, which is 1,000,000 units, to the gallery in that same call. The first ten keeps in the gallery are comped, and so is the first sale of each of those. That comp is an application rule on top of the flag the contract stores. It is not a constant inside the contract.

A buy reverts with NotOpen unless the current owner has listed that token. list sets a price, a carriage, and whether the work is physical. The price must be at least 25 USDC, which is 25,000,000 units. The buyer must pay that price and that carriage, and must pass the same physical flag. A different number is not a negotiation. It is a revert. The holder can list by calling list, or by signing the text Holdfast sale, the id, the price, the carriage, and the word physical or digital. That signature is an ordinary personal signature. Anyone can relay it. unlist closes it. A gift closes it. A successful buy closes it. If the token moves and the owner is no longer the seller who listed, the offer is no longer open.

On a first sale, the seller is the maker. If that sale is comped, the whole price and the whole carriage are split to the payees. If it is not, the gallery takes 600 of 10,000, which is 6 percent, of the price only. The rest of the price, and all of the carriage, is split to the payees. On a later sale, the seller is not the maker. The maker’s payees receive 500 of 10,000, which is 5 percent, of the price. The gallery receives 200 of 10,000, which is 2 percent, of the price. The seller receives the remainder of the price, plus the whole carriage. Shipping is not raked.

A gift is the holder calling gift. The receiver cannot be the zero address, the staff, the gallery, the sale contract, or the holder. A gift clears the free first sale if one was still waiting. It moves no USDC.

An unwind needs both signatures over keccak256 of the packed words holdfast unwind, the sale id, the seller, and the buyer, wrapped as an Ethereum signed message. A physical sale can be unwound for 14 days. A digital sale can be unwound for 48 hours. The USDC is pulled back from everyone who was paid, which means those addresses must still allow the sale contract to move that USDC. The token is conveyed back to the seller. If the first sale had been comped, the comp is restored.

What the chain does not do

The token is not a copyright assignment. Nothing in the contract transfers copyright, and nothing in it claims to.

A transfer the holder makes themselves, with the ERC-721 transfer, pays no royalty and no gallery fee. The comp flag on a free first sale also stays set, because that path never called the sale contract. The fee exists only inside buy.

The exhibit form’s “for sale” choice, the bio, the film, and whether how it was made is public are gallery records. They are not fields on the token. The chain does not know them. The chain knows the listing, the maker, the payees, and the owner.

This preview runs the chain locally, Anvil, chain id 31337. It is not Ethereum and it is not Base. A wallet pointed at a public network will not show the token, and it cannot send the USDC this sale contract expects. The addresses in a local deployment are development addresses. They are not a treasury on a public chain.

The gallery