Skip to main content
Flock’s economy has three pieces:
  • Shops — collections of purchasable items.
  • Shop items — individual offers with a price and currency.
  • Inventory — a record of what each player has purchased.
Scope: shops and items are defined per game version; inventory is per player.
A purchase debits the player’s wallet and records an inventory entry:
Every purchase creates its own entry, so buying the same item twice gives you two. Each entry carries a server-set status and used_at, both read-only — there is no call in either SDK that marks an entry used. A purchase is money-safe. It is never retried after an ambiguous failure and never queued offline, so it cannot double-charge. Inventory is always fetched fresh; the catalog is cached and served offline, so treat a displayed price as advisory until the purchase succeeds.

The id a purchase takes

A purchase names a shop item by its id: the id of the item inside its shop. It is not the item’s name, and it is not the shop’s id. Read it from the shop rather than typing it in: the SDK lists the shops of the Game Version your build runs, each with its items. Unreal’s generated shop items carry the id already. A shop belongs to one Game Version, so a shop made under another version is not listed and cannot be found by name. If the list comes back empty, check the dashboard shows the shop under the Game Version your build runs.
A wallet is made when the player registers. The server builds each player’s wallet from the Game Version’s currency template at registration, with every currency starting at zero. Create the currency template before your test player registers; a player who registered before it existed, or under another Game Version, has no wallet to pay from. See Currencies & Wallets.
When a call fails, the SDK’s text says what is wrong and how to fix it. A purchase given the item’s name instead of its id reads:
A request.not_found 404 whose reason is a bare Not Found means the request reached no route at all (any other reason names a record the route did not find): the API URL must be the Flock server’s address alone, with no /v1 or other path after it.
Purchases grant their contents server-side. Give a shop item a type of Currency pack or Consumable and attach rewards to it, and the server credits the player as part of the same transaction that debits the price. Neither half can happen without the other, and the client never decides what was granted — so a modified client cannot award itself anything, and a dropped connection cannot leave a player charged with nothing to show for it.A Standard item is the older behaviour and still the default: it debits the price and records an inventory entry your game interprets however it likes.
Configure shops and their items for a game version in the dashboard — set prices, currencies, and availability.
Shops and items

Configure shops and items in the dashboard.

See Currencies & Wallets for the balances that back purchases.