Moneypot is best described as our whitelabel casino software platform plus the ecosystem of games and game developers that integrate with it.
You can think of Moneypot as a solution for two groups of people:
Moneypot casinos have a modular game system which allows them to easily add new games to their site from a catalog of Moneypot-ready games.
This scenario quickly explains how Moneypot works.
User1
on a Moneypot casino like moneypot.dev (our development sandbox).Dice2
, and you create an experience that iframes your game running at https://dice.example.com
.Dice2
.Dice2
's API key to see that I sent your controller 100 bits. You display my 100 bit balance on https://dice.example.com
.https://dice.example.com
and lose 25 bits. Your controller knows I now hold a balance of 75 remaining bits with you.Dice2
to User1
.This diagram can illustrate the whole flow:
Loading diagram...
Moneypot casinos are instances of the whitelabel casino software that we offer. They implement a common API that controller servers like @moneypot/hub can target.
Another key feature is that they are a module gaming platform: casino offer games (known as "experiences") by iframing them from external URLs.
Other features include:
A Moneypot casino embeds any number of individual games as iframes. To avoid overloading common terms like "game" or "app", we call these things "experiences".
When you're logged into your Moneypot casino, you can add experiences through the dashboard.
An experience's iframe_url
is loaded with a user token like this: <iframe src="https://game.example.com#userToken=xxx"></iframe>
. The experience then takes the user token and exchanges it against the Moneypot casino's API to get the user's public info like id and username. This is how your game knows which Moneypot user on which casino is playing your app.
There are two entities that can hold a currency balance on a casino and transfer money to other holders:
A controller can be thought of as a "bot" that has programmatic API access to its balance and currency transfers.
When logged in as a user, you can create controllers on the casino that each have their own dashboard. They are a building block for implementing experiences:
Users send your controller currency, make bets against your controller server against their balance, and then withdraw money back from your controller.
A controller server (implemented by @moneypot/hub
) is a server that uses its controller api keys to manage balances and transfers across each casino where it has a controller registered.
The idea is that if you have a game idea, you can implement it once on a single controller server, and then every Moneypot casino can iframe your game. All you have to do is maintain a controller on each casino.