Generated — do not edit. Source of truth:
abstract/re-zerve/crate/product-docs/vocs/for-deployers.mdx. Edit there, then runpnpm sync:product-docs.
For deployers
You are the deployer — Akash also calls this role tenant, once: the user who creates a deployment. You want private inference capacity. You post what you need in public as SDL. You never put price or bidder identity on the public order book. You open the lease only with the winner’s derived access bearer.
A deployment is a public resource request. SDL (Stack Definition Language) is the YAML that describes services, CPU, memory, storage, GPU, and placement. Creating the deployment opens an order. A provider answers with a bid. A lease is the agreement that reserves capacity.
This path runs locally today. It is not the default on the public Akash network.
Public deployment / order
The deployment and its order are the only plaintext market surface. You post an ask id, a deployer label, a manifest, compute resources (CPU, memory, storage, GPU), and an inference profile. Empty requests never open. Zero CPU or memory never open.
The public record binds a commitment over that request. Changing only the deployer label changes the commitment. Anyone can see the order and that binding. Nobody sees a bid price on this surface.
What stays off-chain
The provider sends you an encrypted bid out of band. The envelope is sealed with the out-of-band seal key (ChaCha20-Poly1305). The plaintext bid holds ask id, bidder identity, price, and provider endpoint. That payload is never serialized on-chain. Price is off the public order book.
You record a bid commitment only: a hash over the sealed envelope. The commitment store holds no price and no identity.
The deployer posts a public order, the provider sends an encrypted bid off-chain, and the chain only records commitments.
How payment is authorized
Product credit proves a HOSTING_PAYMENT leaf is in the ZAP1 tree without putting the payment path on the public execute. The chain sees a Halo2 proof and 128 bytes of public instances (tree root, FROST group, amount class, payment kind). Merkle siblings stay in the witness.
That bind plus SpendAuth credits a FROST-owned pool. SpendAuth binds group, note, amount, and an optional bid commitment, then a real outer quorum.
Value is Ironwood notes. ZIP-312 RedPallas is not in Zakura; spends use frost-spend-v1 plus ZIP-32 of the reconstructed DKG group seed. Escrow records a grant. It does not move BankMsg / uterp as money. The closer cannot set earned.
A local transcript credit is only the sim path. It is available in the local lab. It is not the public-network ingest. The product ingest does not treat a local hash as a Zcash state root and does not open a memo.
How you open the lease
You accept the winning bid. Access is a 32-byte secret derived from the same seal key that sealed the bid, plus the bid commitment and ask id. The HTTP bearer is hex of a second domain-separated hash of that secret. It is the side-market lease credential. It is not an Akash ES256K JWT and not an mTLS cert.
A foreign bearer is denied. After you close the lease, even the winner bearer is denied.
After accept, only the winner derived access bearer opens the lease; a foreign bearer and any call after close are denied.
What others cannot see
| Public / committed | Private / off-chain |
|---|---|
| Ask id, deployer label, manifest, resources, inference profile | Bid price |
| Ask commitment | Bidder identity |
| Bid commitment (hash of the sealed envelope) | Provider endpoint in the plaintext bid |
| Lease open / closed, winner bearer check at the gateway | Seal key and 32-byte access secret |
Others can see that you asked and that a commitment exists. They cannot see who bid, what they charged, or the bearer that opens the endpoint.