Ledger Accounts & Budget Pools
Ledger Accounts
WXET leverages an advanced double entry account method that allows very high resolution financial reporting in a wide range of time periods with extreme precision. When you retrieved information about your account, you likely saw that every account starts off with 3 distinct Ledger Accounts of 3 different " account types". These are the minimum in order to operate, so they come setup by default.
They each serve a unique purpose, and are outlined below:
Wallet (wa_wallet)
- A Wallet is the amount that is a WXET Account has available to them. For example, when a WXET Account deposits money into the platform, it is reflected in this amount.
This is because WXET allows tasks to be priced out by fractional USD Cents, we refer to them as USDMilli. There are some Tasks, such as paying for a click entrance, where $0.01 per event may be too high. Likewise, other marketplaces that have allowed fractions have caused problems (more on that in the Lessons Learned section)
If a WXET Account has a balance of $1 in their wallet Ledger Account, it can also be withdrawn at any point to return to the bank account of the WXET Account on file. Paying with a Credit Card, and triggering withdraws with an API call are on the Feature Roadmap.
Held (wa_held)
- When a Task is created on the platform, the cost of that Task is moved from the Wallet Ledger Account into the Held Ledger Account. Once funds are moved from the Wallet into the Held amount, they are no longer able to be withdrawn to the WXET Account's bank account as they've effectively been "spent" paying for the completion of the Task that created.
The funds from created Tasks are moved into the Held account immediately, rather than when the Task is actually completed, for many reasons:
A common way to exploit marketplace statistics is to create a Survey that is requesting 100,000 finishes! This causes Suppliers to flood the Survey with traffic because they think if there are so many of them available, they should prioritize that survey with their traffic to capture as many of those available completes before other Suppliers start to route in traffic to the survey. The issue is, one 500 completes of that survey have been captured, the buyer will terminate the survey. This creates an issue with inventory enforcement. Please see Lessons Learned
While the Task is finished, it may still be adjusted by the WXET Account, it's reconciliation period may have elapsed automatically and so the funds need to be available to "lock-in" to ensure Users can be compensated.
Credit Line (wa_credit_line)
If a WXET Account creates a Budget Pool from an available Credit Line, the amount of utilization is reflected here
Technically, all of these Ledger Accounts are returned with the follow structure. Specific Transactions and Ledger Events are retrievable in the Future Features.
Budget Pools
Understanding the Ledger Accounts, allows us to leverage these financial accounts to selectively fund a "Budget Pool", which is a new Ledger Account behind the scenes, simply with the type wa_budget_pool. This means we can use double entry accounting to monitor all credit transfers of funds which get deposited, along with all debit transfers of funds out of a Budget Pool which are respectively used to cover the user's cost of a Task complete. If you remember the "Held" Ledger Account from above, the Budget Pool moves funds into the Hold account. This allows us to specifically track all transfers of money throughout the system.
A default Budget Pool is created for all accounts, so if you make the following API call, you should be able to confirm it returns back that default Budget Pool
and the results should look something like:
BudgetPool
This Budget Pool can be thought of as an allowance. It's a predefined amount of money that could be spent on a series of Projects & Tasks (more on those later). By creating a Budget Pool, future features will allow you to essentially limit how much money a Project Manager could spend on a Project. More details available on the future features.
Funding a Budget Pool
While a default Budget Pool exists, there is no available balance, so it must be "funded". Money can come from 1 of 2 places, a Wallet balance or the provided Credit Line. However, if you try to fund the Budget Pool with either of those sources:
you should get the following 400 Response Error:
at this point, please reach out to ensure the account's Credit Line is available or to deposit money in to the Wallet balance. When it runs successfully, you will see the funds available in the Budget Pool balance, and the equal amount of funds deducted from the Wallet or Credit Line (depending on where the money came from)