Skip to content
Permissionless Web

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.

Loading diagram...

What you must not log

Keep out of logsWhy
Seal keyIt derives the bearer
Plaintext bid (price, terms)The envelope is private
Bearer secret or raw bearerGateway credential for the winner
Deployer identity from the opened envelopeNot a public field
Nonce reused with the same keyBreaks 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

PublicPrivate
Deployment / order (SDL, resources)Bid price and bidder identity
Ask commitment, bid commitmentBid envelope, seal key
Lease open / closedDerived access bearer

What you can run today

In this buildOn public Akash
Sealed bid and commitment-only recordOrdinary public bids
Allocate after a posted commitment (gate on)Bid engine without that gate
Derived bearer at the gatewayES256K JWT on public leases

The public image does not include the private gate. This repository’s provider-services build does. See Status.