Asset Goes Here Docs Sign in
ContentsArt fund (beta)
Request and review

Art fund (beta)

The art fund lets your players pay for hand-made art in your game. You give each player a code worth Asset Points, for example one with every copy sold on Steam. Players redeem the code on your fund page and spend the points on art you list. When a piece is fully funded, its request opens to your artists. Once you accept the delivery, agh records what the artist is owed.

100 Asset Points are always worth $1 to you and your artists, and your screens show dollars beside points. Players only ever see points: points have no cash value for them, and can't be sold, transferred or cashed out. So word your pledge in points too, such as "Every copy gives you 100 Asset Points toward hand-made art."

The art fund is in beta, and no money moves through agh yet. Points are your promise to your players. You pay your artists yourself, and each artist confirms in agh that they were paid, so your fund page can show it. agh bills its cut of the points you mint each month. Later, agh will hold the money for the codes you mint and pay artists itself when you accept their work, so neither your players nor your artists have to take the payment on trust.

The art fund works on every plan. agh's cut is 10% of the points minted on Free, Starter and Indie, and 5% on Studio and Enterprise. These rates may change while the art fund is in beta.

Turn it on

An admin turns the fund on with PUT /projects/{project}/fund:

{ "on": true, "pledge": "Every copy on Steam gives you 100 Asset Points toward hand-made art.", "rolloverDays": 90, "codePrefix": "MF" }

pledge is the promise shown at the top of your fund page. Say which copies come with a code, such as "every copy on Steam or Epic", so a player who bought elsewhere knows not to look for one. rolloverDays is how long players have to redeem a code and spend its points. Points nobody used in time go to the top open piece on your list. codePrefix is 1 to 4 letters that start every new code, so players can tell which game a code is for (AG until you set one).

List the art players can fund

Put an open request on the list with a price in points (PUT /projects/{project}/fund/items/{asset}):

{ "title": "Harbor town at night", "description": "Key art for the title screen", "price": 25000 }

The title and description are what players see, since a request's brief is written for artists. Only an approved request that nobody has claimed can go on the list. While it waits for players, it can't be claimed or delivered. Once points add up to its price, it opens to your artists like any other request.

Taking an item off the list (DELETE …/items/{asset}) opens its request as usual and gives the points back to the players who spent them. A funded item stays on the list.

Mint codes from your game's server

Your server mints codes with a tool that has the minter role: agh tool add store-server --role minter (see Hire an agent for tool sign-ins). Then POST /projects/{project}/fund/codes. Only admins and minters can mint, list or take back codes, since codes stand for your promise to players. A minter can also be a person, such as support staff who give out gift codes or take one back after a refund. A minter sees the fund and its codes and nothing else in the project, and doesn't count as a person on your plan. Developers can read the fund's settings and list but not its codes. Admins and minters can also mint a code by hand on the Art fund page's Codes tab, then copy the code or a redeem link that fills it in on your fund page.

{ "key": "steam:76561198000000000", "points": 100, "reason": "purchase" }

For a purchase, check that the player owns the game before minting. On Steam, check the player's auth session ticket and their ownership of your app from your server, then mint with their Steam ID in the key.

A code looks like MF-7K3M-Q9TD-2XHV-B4PN. Players can type it in any case, with or without the dashes or the prefix.

POST …/fund/codes/{code}/void takes a code back, for example after a refund. It works on a code nobody redeemed, or on a redeemed one whose points are still unspent.

Players redeem and spend

Your fund's public page is /fund/{project}. Link it from your store page and your game. Anyone can read it; players sign in with an agh account to redeem a code and spend their points, and the page sends them back after signing in. Store sign-ins, such as Steam, come later. To fill in the code for a player, link to /fund/{project}#code=MF-XXXX-XXXX-XXXX-XXXX: the part after # never reaches a server log.

Your own game or site can do the same through the API. Players redeem at POST /fund/{project}/redeem ({ "code": "…" }), see their balance at GET /fund/{project}/me, and spend at POST /fund/{project}/items/{asset}/back ({ "points": 250 }). Points that expire soonest are spent first. A player who offers more than a piece still needs keeps the rest.

Anyone can read the fund at GET /fund/{project}/fund.json, in points only: your pledge, points by reason, and each piece's progress, backers and payout state. It never shows codes, keys or who the players are. It updates every few minutes.

Pay your artists

When a funded request's delivery is accepted, agh records that the artist who delivered it is owed the item's price. GET /projects/{project}/fund/payouts lists what's owed. After you pay the artist, mark it paid with POST …/payouts/{asset}/paid and an optional note. The artist sees their payouts with GET …/payouts?mine=true and confirms with POST …/payouts/{asset}/confirm. Your fund page shows each piece as owed, paid, or paid and confirmed by the artist.

Unused points

POST /projects/{project}/fund/rollover takes the points nobody used in time (codes never redeemed, and redeemed points left unspent) and puts them toward the open pieces on your list, top first. Anything left over, when every piece is funded, waits in your studio's pool for the next piece you list. You can run it again safely. To put pool points toward a particular piece, use POST …/items/{asset}/pool with { "points": … }.

What you owe

GET /projects/{project}/fund shows the points you minted (less voided ones) and their dollar value, which is your promise to your players, and agh's cut in dollars, which is what agh bills you each month during the beta.

For agents: this page as Markdown is at /docs/art-fund.md, and the CLI prints it with agh guide art-fund.