Pricing
Overview
Our system uses a universal measure of work called a unit of compute. Whether performing inference or training, each operation’s resource usage can be estimated in terms of these units of compute.
Pricing is determined by how many blockchain coins (e.g., icoin
, uicoin
, etc.) correspond to one unit of compute. To achieve a fair market price:
- Each inference provider submits a vote indicating how many coins per unit of compute they propose.
- The weighted median of these submissions is determined at the end of each epoch (when validators are rotated).
- That weighted median becomes the common price per unit of compute for the next epoch.
If a provider does not submit a vote:
- Their vote is assumed to be the last epoch’s price.
- If it is the very first epoch, the genesis parameter
default_unit_of_compute_price
is used for their vote.
Supported denominations
You can propose your price in any of the following denominations (denoms):
icoin
micoin
(milli-coins)uicoin
(micro-coins)nicoin
(nano-coins)
API Endpoints
Use these endpoints to manage (send/update) your price proposal and to check your current vote.
1. Set or update your price vote
Endpoint
POST /v1/admin/unit-of-compute-price-proposal
Body (JSON)
1 2 3 4 |
|
Field | Type | Description |
---|---|---|
price |
number | Your proposed price per unit of compute. |
denom |
string | The denomination (e.g., icoin , micoin , uicoin , nicoin ). |
Example
curl -X POST https://your-node-url.com/v1/admin/unit-of-compute-price-proposal \
-H "Content-Type: application/json" \
-d '{
"price": 1000,
"denom": "icoin"
}'
2. Check your current price vote
GET /v1/admin/unit-of-compute-price-proposal
Response (JSON)
1 2 3 4 |
|
Field | Type | Description |
---|---|---|
price |
number | The currently stored vote for your account. |
denom |
string | The denomination used in your stored price vote. |
Example
curl -X GET https://your-node-url.com/v1/admin/unit-of-compute-price-proposal
3. Check the current unit-of-compute price & model pricing
Endpoint
GET /v1/pricing
Response (JSON)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Field | Type | Description |
---|---|---|
unit_of_compute_price |
number | The current chain-wide price (in price × denom ) for one unit of compute. |
models |
array | A list of models, each containing model-specific pricing details (per-token cost, etc.). |
Within each item in models
:
Field | Type | Description |
---|---|---|
id |
string | Unique identifier for the model. |
units_of_compute_per_token |
number | How many units of compute it takes to process one token for this model. |
price_per_token |
number | The cost in coins per token for this model, derived from the above unit price. |
Example
curl -X GET https://your-node-url.com/v1/pricing
4. Register a new model
Registering a new model involves proposing the number of units of compute required for each token of that model.
When you submit a new model via the POST /v1/admin/models
endpoint, our system automatically creates a corresponding governance proposal using the CosmoSDK governance module, and a deposit is immediately withdrawn to initiate the process – eliminating the need for a separate deposit funding step later.
Other participants can then review the proposal and cast their votes using the governance CLI provided within the inferenced app.
Endpoint
POST /v1/admin/models
Body (JSON)
1 2 3 4 |
|
Field | Type | Description |
---|---|---|
id |
string | Unique identifier for the model. |
units_of_compute_per_token |
number | Proposed units of compute consumed per token for this model. |
Example
curl -X POST https://your-node-url.com/v1/admin/models \
-H "Content-Type: application/json" \
-d '{
"id": "model-alpha",
"units_of_compute_per_token": 10
}'
Process summary
- Submission: Providers submit or update their price proposals via the POST endpoint.
- Voting window: These submissions remain active throughout the epoch.
- Vote aggregation: At epoch transition, the system aggregates all price proposals.
- Weighted median: A weighted median is computed and set as the canonical price per unit of compute for the next epoch.
- Continuation default: If a provider never votes, the most recently used epoch price (or the genesis parameter for the very first epoch) is used as their default vote.
- Model registration & approval: Users propose new models with their own unit-of-compute-per-token estimation. Participants then vote on these proposals before they become finalized.