What is Moneypot?

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:

  1. People who want to run a whitelabel casino without developing games
  2. People who want to develop games (experiences) that any casino can use

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.

Moneypot ecosystem

This scenario quickly explains how Moneypot works.

  1. I register as user User1 on a Moneypot casino like moneypot.dev (our development sandbox).
  2. You register and create controller Dice2, and you create an experience that iframes your game running at https://dice.example.com.
  3. I want to play your dice game, so I transfer 100 bits to Dice2.
  4. Your game server uses moneypot.dev's API and Dice2's API key to see that I sent your controller 100 bits. You display my 100 bit balance on https://dice.example.com.
  5. I hit the "bet" button on https://dice.example.com and lose 25 bits. Your controller knows I now hold a balance of 75 remaining bits with you.
  6. I withdraw 75 bits from your dice game, so you use moneypot.dev's API to transfer 75 bits from Dice2 to User1.

This diagram can illustrate the whole flow:

Loading diagram...

Casinos

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:

  • User system
  • Account balance system
  • Currency transfer system
  • Cryptocurrency deposits and withdrawals

Experiences

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.

Controllers

There are two entities that can hold a currency balance on a casino and transfer money to other holders:

  1. Users
  2. Controllers

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.

Controller servers

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.