Skip to content

To see your current or past usage, navigate to the Usage tab using the button in the side nav panel. To see the price schedule and add, modify, or remove a payment method, navigate to the Billing tab.

Definitions

  • User: Someone with an Aptos Build account (e.g. jim@stablelabs.com).
  • Organization: This is what actually owns projects and resources. Organizations have many members and admins but just one owner. Payment methods are attached to organizations, not users. For example stable-labs.
  • Monthly Credit: A credit in terms of US dollars that Aptos Labs grants the organization each month. It is use it or lose it, the credit does not roll over to the next month.
  • System Limits: These are caps that we set on the amount of resources that an organization is allowed to use. These exist to protect our infra from unexpectedly high usage. They are defined in terms of the service, e.g. CUs per 5 mins.
  • Budgets: We allow organization admins to set a daily and/or monthly budget for their spending. Budgets are in dollar terms, not per-resource terms. Since they are enforced asynchronously, it is possible to slightly exceed your budget. You can set these on the Usage tab in the side nav.

Billing


All organizations are automatically granted a $... credit per month. If this credit is insufficient for your needs, you can add a payment method and we will give you a higher monthly credit of $... per month free of charge. We will charge your payment method for any usage above this credit.

Credits and limits are applied on a per-organization basis, not a per-user or per-project basis.

Usage of our services accrues a cost in dollars (USD) according to the following price schedule:

If you have attached a payment method to your organization, you will be charged for any usage beyond your monthly credit. If you do not have a payment method attached, usage of our services will be disabled if you hit your monthly credit cap until the next month. Billing is tracked on a monthly basis, starting from 12am UTC.

Transactions sponsored using the Gas Station are charged based on the gas used and the APT price at previous close-of-day (UTC time). Read more below.

System Limits

Unlike the Monthly Credit, which is declared in dollar terms for a full month, System Limits are always either instant values (e.g. disk space usage) or measured over a short (usually rolling) window of time (e.g. CUs per 5 mins). The purpose of System Limits is to protect our infra from greater usage than we can handle (spikes). These aren’t necessarily on the same dimensions that we use for billing (see the price schedule above).

Except for the per-processor limits, these limits apply to the whole organization. For example, all API usage shares the same Compute Units / 5 mins limit.

System limits are intended to be so high that you don’t have to think about them, particularly organizations with a payment method attached. Please reach out to us if you’re having issues with system limits.

These are the default system limit values, you may have a bump in place for your organization that increases these.

Cost Dimensions

Applicable Services: Node API, Indexer API, Gas Station, No-Code Indexing, Token Management Platform, Keyless Pepper Service.

Summary

  • Billing: Usage of our APIs is accured in terms of Compute Units. Requests cost exponentially more CUs based on how much load they place on our infrastructure.
  • System Limits: There is a limit on CU usage per 5 mins.

Billing

Requests to Aptos Build APIs are measured in terms of Compute Units (CUs). CUs measure the relative cost of a request on our infrastructure. For example, a given call to /v1/accounts/0x1 (the Node API) might cost 250 CUs while a call to /v1/graphql (the Indexer API) might cost 500 CUs, indicating that the infra cost of the second request is 2x higher than the first. Compared to just rate limiting based on request count, Compute Units allow us to capture that some requests are more resource intensive than others.

Some of the above services are just APIs, e.g. the node and indexer APIs. Compute Units are the only way we track utilization for these services. Other services are more than just APIs, such as gas station or no-code indexing and accrue other costs.

For example, every request to gas station incurs a cost in terms of CUs to cover the infrastructure cost of the gas station. If through that request the gas station successfully sponsored a transaction, there will be an additional cost based on the gas used for the transaction. See the Gas Station tab for more.

Similarly, for no-code indexing, requests to the API we provision for your processor are accounted for with Compute Units. However, there are additional costs associated with indexing that are not captured by Compute Units, for example the cost of the database and processor. Those are accounted for as “Disk Usage” and “Write Throughput”. See the Indexing tab for more.

Compute Unit Calculation

The method for calculating the CUs used by a request differs per upstream type (e.g. Node API vs. Indexer API) and endpoint (e.g. /v1/view vs. /v1/accounts), but as a general rule of thumb, the more complex a request is (gas used, time taken, etc.), the more CUs it will consume. We use a variety of factors to calculate the cost of a request, and our approach is subject to change at any time. Broadly speaking, the behaviour is as described below.

Node API

The current approach for this upstream is quite simple.


upstream_processing_time * multiplier * exponential_factor

In other words, cost is just a function of how long the upstream takes to process the request. In general, node API requests are dominated by I/O time on the database. The more complex a query is, the longer it takes, the higher the cost in CUs.

Expensive, long running queries have an outsized impact on our infrastructure, so we scale the cost exponentially.

Node API (VM Endpoints)

Requests to endpoints that involve execution with the Move VM (e.g. /v1/transactions/simulate or /v1/transactions/view) return the cost of that execution in terms of gas. We use this gas cost and some multiplier to get the final gas cost:


gas_cost * multiplier

Indexer API (Other Endpoints)

We use the same formula as with the Node API, albeit with different multipliers.

System Limits

There is a limit on the number of CUs that can be used per 5 minutes. This limit is significantly higher for organizations with a payment method attached.