Generated — do not edit. Source:
/Users/returniflost/abstract/terp-core/crates/private-inference-rent/product-docs/vocs/for-providers.mdx. Change the crate/repo, then rebuild this site.
For providers
You run provider-services: bid engine, gateway, hostname operator, inventory operator. A provider is the data center that bids on an order and hosts the lease. The deployer (Akash also says tenant, once) creates the deployment in SDL (Stack Definition Language).
This side-market is not a public price board. You see the public order. You send the encrypted bid off-chain. You allocate only after the commitment is recorded. You open the lease only for the derived access bearer.
The private path lives in the same binary. When PIR env is unset, you stay on the public Akash marketplace — the bid engine still bids on public orders. When the private gate is required, the path fails closed. The side-market hooks are available in the local lab. They are not on the public network yet as the live process.
What you can see
The deployer posts a public deployment / order: SDL, resources, a domain-separated ask commitment that includes the deployer label. Anyone, including you, can read that surface.
You do not see competing prices or bidder identities on the commitment store. That store holds commitments only.
The hostname operator and inventory operator still do their public cluster jobs (ingress, resource inventory). They do not see bid price.
What you send
You seal a bid envelope off-chain (ChaCha20-Poly1305, AAD over the ask id and nonce). You deliver that envelope to the deployer out of band. That is a bid with price off the public order book.
The public record after you bid is a bid commitment, not the envelope. Price and identity stay off the chain-shaped view.
Commitment before allocate
Do not spin the lease until the bid commitment is posted.
When the private gate is on (PIR_REQUIRE_COMMIT=1 or PIR_MODE=1), allocation is refused unless a recorded commitment is present. When PIR env is unset, the public Akash default still bids without that gate. Private path: committed, then allocated. Missing match, envelope, or pay accept fails closed.
Derived bearer at the gateway
After accept, the winner’s access is a derived access bearer: hex of a tagged hash over the out-of-band seal key, the bid commitment, and the ask id. It is the side-market lease credential. It is not an ES256K Akash JWT.
The gateway accepts that bearer as full lease access for the winner. A foreign bearer is denied. After close, the same bearer is denied.
Stock JWT and mTLS can still exist on the cluster path. They are a different credential. Do not treat the public ES256K JWT as the re-zerve lease key.
Provider gate
The provider takes an encrypted bid, allocates only after the commitment is recorded, and checks a derived access bearer at the gateway.
What you must not log
| Keep out of logs | Why |
|---|---|
| Seal key | It derives the bearer |
| Plaintext bid (price, terms) | The envelope is private |
| Bearer secret or raw bearer | Gateway credential for the winner |
| Deployer identity from the opened envelope | Not a public field |
| Nonce reused with the same key | Breaks the seal |
Log ask id, commitment hex, allocate/deny, and gateway accept/deny. Do not log the envelope plaintext or the derivation inputs.
Public vs private
| Public | Private |
|---|---|
| Deployment / order (SDL, resources) | Bid price and bidder identity |
| Ask commitment, bid commitment | Bid envelope, seal key |
| Lease open / closed | Derived access bearer |
What you can run today
| In this build | On public Akash |
|---|---|
| Sealed bid and commitment-only record | Ordinary public bids |
| Allocate after a posted commitment (gate on) | Bid engine without that gate |
| Derived bearer at the gateway | ES256K JWT on public leases |
The public image does not include the private gate. This repository’s provider-services build does. See Status.