com.publicdomainrelay.temp.gateway.requestComputeVM

johnandersen777.bsky.social

Documentation

Request a VM through the compute contract gateway. Gateway builds cloud-init from sshPublicKey, creates compute.vm and market.rfp records, discovers bidders, runs the full RFP protocol, submits accept, and verifies the receipt. Returns receipt refs and websocatUrl for SSH access.

main procedure

Request a VM through the compute contract gateway. Gateway builds cloud-init from sshPublicKey, creates compute.vm and market.rfp records, discovers bidders, runs the full RFP protocol, submits accept, and verifies the receipt. Returns receipt refs and websocatUrl for SSH access.

Input

Encodingapplication/json
bidWindowSec integer Optional

Seconds to wait for bids before picking a winner.

execProgram string Optional

Program to execute over SSH after VM is ready.

extraBidderDids array Optional

Additional bidder DIDs beyond relay discovery.

keepVm boolean Optional

Skip VM teardown after contract completion.

policyMode string Optional

Fulfillment policy mode for bidder selection.

skipSsh boolean Optional

Skip SSH session after contract. When true, returns immediately after receipt.

sshPublicKey string Required

OpenSSH public key for root SSH access to the VM.

vmReadyTimeoutSec integer Optional

Seconds to wait for SSH readiness after provisioning.

Output

Encodingapplication/json
bids array Optional

No description available.

error string Optional

No description available.

receiptCid stringcid Optional

A content identifier (CID) referencing immutable data.

receiptOk boolean Optional

No description available.

receiptUri stringat-uri Optional

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

rfpCid stringcid Optional

A content identifier (CID) referencing immutable data.

rfpUri stringat-uri Optional

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

sshExitCode integer Optional

No description available.

sshReady boolean Optional

No description available.

vmFqdn string Optional

No description available.

websocatUrl stringuri Optional

A valid URI.

winnerBidCid stringcid Optional

A content identifier (CID) referencing immutable data.

winnerBidConfig unknown Optional

No description available.

winnerBidUri stringat-uri Optional

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

winnerDid stringdid Optional

A decentralized identifier (DID).

Errors

InvalidRequest
AuthRequired
NoBidders
ProvisioningFailed
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "computeVm",
        "sshPublicKey"
      ],
      "properties": {
        "keepVm": {
          "type": "boolean",
          "default": true,
          "description": "Skip VM teardown after contract completion."
        },
        "skipSsh": {
          "type": "boolean",
          "default": true,
          "description": "Skip SSH session after contract. When true, returns immediately after receipt."
        },
        "computeVm": {
          "ref": "com.publicdomainrelay.temp.compute.vm",
          "type": "ref",
          "description": "Compute VM specification (cpus, mem, disk, network, role). user_data is populated by the gateway from sshPublicKey."
        },
        "policyMode": {
          "enum": [
            "only_me",
            "direct_network",
            "policy_based"
          ],
          "type": "string",
          "description": "Fulfillment policy mode for bidder selection."
        },
        "execProgram": {
          "type": "string",
          "default": "bash",
          "description": "Program to execute over SSH after VM is ready."
        },
        "bidWindowSec": {
          "type": "integer",
          "default": 30,
          "description": "Seconds to wait for bids before picking a winner."
        },
        "sshPublicKey": {
          "type": "string",
          "description": "OpenSSH public key for root SSH access to the VM."
        },
        "extraBidderDids": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did"
          },
          "description": "Additional bidder DIDs beyond relay discovery."
        },
        "vmReadyTimeoutSec": {
          "type": "integer",
          "description": "Seconds to wait for SSH readiness after provisioning."
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "InvalidRequest"
    },
    {
      "name": "AuthRequired"
    },
    {
      "name": "NoBidders"
    },
    {
      "name": "ProvisioningFailed"
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "properties": {
        "bids": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "cost": {
                "type": "integer"
              },
              "bidUri": {
                "type": "string",
                "format": "at-uri"
              },
              "bidderDid": {
                "type": "string",
                "format": "did"
              }
            }
          }
        },
        "error": {
          "type": "string"
        },
        "rfpCid": {
          "type": "string",
          "format": "cid"
        },
        "rfpUri": {
          "type": "string",
          "format": "at-uri"
        },
        "vmFqdn": {
          "type": "string"
        },
        "sshReady": {
          "type": "boolean"
        },
        "receiptOk": {
          "type": "boolean"
        },
        "winnerDid": {
          "type": "string",
          "format": "did"
        },
        "receiptCid": {
          "type": "string",
          "format": "cid"
        },
        "receiptUri": {
          "type": "string",
          "format": "at-uri"
        },
        "sshExitCode": {
          "type": "integer"
        },
        "websocatUrl": {
          "type": "string",
          "format": "uri"
        },
        "winnerBidCid": {
          "type": "string",
          "format": "cid"
        },
        "winnerBidUri": {
          "type": "string",
          "format": "at-uri"
        },
        "winnerBidConfig": {
          "type": "unknown"
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "Request a VM through the compute contract gateway. Gateway builds cloud-init from sshPublicKey, creates compute.vm and market.rfp records, discovers bidders, runs the full RFP protocol, submits accept, and verifies the receipt. Returns receipt refs and websocatUrl for SSH access."
}

Lexicon Garden

@