BitGo Platform V1 transactions will be assessed a notional USD value using the Tradeblock XBX Index rate at the time of the transaction. See Tradeblock's constituent prices and more information about the XBX methodology on the right panel at the link here.
BitGo Platform V2 transactions will be assessed a notional USD value using the BitcoinAverage rate at the time of the transaction. See BitcoinAverage's methodology here.
Assets Under Custody (AUC)
We calculate the assets-under-custody fees for a given set of wallets under an enterprise by coin. The set of wallets to bill with AUC billing can differ from contract to contract, but is usually all of the cold and custodial wallets the customer has. AUC billing is based on a percentage (bps) fee calculated on the average USD balance over the month (see “Computing Average Balance” below). Each coin and token bill is calculated separately and given its own line-item in the bill.
Even though custodial wallets may execute a minimal number of transactions and therefore have the same coin-based balance over the course of the month, the USD value of the coins varies over the hours of the month resulting in differing USD-based balances at each hourly fencepost.
There are exactly 720 hourly balances in a 30-day month. We calculate balances at the beginning of each hour, which means that transactions or price changes in the very last hour of the month are not reflected in the average for that month. However they will be reflected in the average for the following month.
The billing system multiplies the balance at the start of the month by the price of the coin or token at the beginning of the month to compute the first hourly USD amount. It then adds the delta of the transactions that moved coin to/from the AUC wallets that happened in the next hour to the balance, and multiplies that amount by the price of the coin for the second hour in the month. The billing system continues this process until there are no more hours in the current month. It then takes the average of all the hourly USD holdings in the month, and multiples that by the rate or tiered rates specified in the customer's contract.
VDP/Transactional/Tiered billing is the billing structure used for hot wallet customers, although transactions executed from cold wallets still count towards VDP. For transactional billing, we bill all outgoing transactions from customer wallets sent to addresses not in the customer’s enterprise. Billing in VDP is separated by coin, and each coin and token has its own entry or entries in the bill. In tiered billing each coin starts the count from 0. On each externally sent transaction, we use the USD value sent and count it towards the billable amount sent for that coin.
Let’s look at an example customer with 2 tiers, $0 - $1,000,000 at 25 bps and $1,000,000 and higher at 20 bps. Their BTC sends from 0 to 1 million USD will be billed at 25 bps, so they would pay $2,500 for it. All BTC sends thereafter will be billed at 20 bps. However, if the customer then did an ETH send of $100, it would still be billed in the 25 bps tier because the tiers are distinct for each coin. If a transaction exists in both tiers, such as when a customer that has already sent $999,000 in XRP later sends $2,000, then the first $1,000 would be billed at 25 bps and the next $1,000 at 20 bps.
The final bill adds together the AUC and VDP charges and compares that to the customer monthly minimum (MM).