Assets
AI platforms may price their services in different ways. Some charge directly in fiat currencies; others rely on pre-funded credits and many introduce custom usage units (what we refer to as "Assets") like tokens, GPU hours, or video minutes, to align usage with product outcomes.
This guide talks about configuration of custom assets such as tokens.
If your pricing model is entirely fiat based, you may skip this section.
In Credyt, Assets are custom usage units such as tokens, minutes or requests. Think of them like bespoke currencies that are aligned with your product outcomes.
They are distinct from fiat currencies and enable platforms bill for usage in a way that is clear, flexible, and transparent for customers. Customers purchase assets with fiat at an exchange rate defined by the platform, enabling straightforward pricing and reporting.
Defining and managing Assets
Platforms can create and manage any custom asset they wish to offer. Each asset can have exchange rates defined for each fiat funding currency, giving platforms full control over how much a customer pays per unit of asset.
- Platforms can update exchange rates at any time
- Changes can be scheduled to take effect at a specific future time, ensuring predictable pricing
- The exchange rate can optionally be overridden for platform-initiated top-ups
Assets help to promote a transparent and user-friendly experience. Each asset has a unique code, a customer-facing name, a label for UI display, and an optional symbol. These elements exist to:
- Ensure customers can clearly identify the asset they are purchasing
- Provide consistent representation across the platform and Billing Portal
Example
Let's create a Glitch Video Credit for your AI platform. We'll price the Credit at $0.10 or inversely, $1.00 buys 10 Credits.
When creating an asset, you can specify either the:
ratein the source currency - in this example0.10 USDinverse_ratein your custom asset - in this case10, since each $1.00 buys 10 credits
{
"code": "VIDGENMIN",
"name": "Video Generation Minutes",
"precision": 2,
"symbol": "⏰",
"label": "MIN",
"rates": [
{
"source": "USD",
"rate": 0.1
}
]
}
We can view the details of this asset at any time via the Assets API:
{
"code": "VIDGENMIN",
"name": "Video Generation Minutes",
"precision": 2,
"label": "MIN",
"symbol": "⏰",
"rates": [
{
"source": "USD",
"rates": [
{
"valid_from": "2026-02-06T10:01:29.686322Z",
"rate": 0.1,
"inverse_rate": 10
}
]
}
],
"created_at": "2026-02-06T10:01:29.686322Z"
}
Get a Quote
Once you've defined an asset you can use the quote capability to calculate and display how much of a custom asset a customer will receive when topping up (if they're topping up via the Billing Portal, this will be done automatically).
To obtain a quote specify the source fiat currency and the amount to convert, and optionally a point in time (exchange_at) to support historical or scheduled conversions. It returns the exchange rate applied and the resulting amount of the asset.
Example
This quote calculates how many Glitch Video Credits a customer would receive for 10 USD. The destination_rate of 10 means each $1.00 USD buys 10 credits, resulting in a total of 100 credits.
{
"source": "USD",
"amount": 10
}
Response
{
"source": "USD",
"source_amount": 10,
"destination": "VIDGENMIN23",
"destination_amount": 100,
"rate": 0.1,
"inverse_rate": 10
}
Changing asset rates
If the platform updates the exchange rate and schedules it to take effect the next day, all new purchases will automatically use the new rate, ensuring that billing remains consistent and predictable.