openapi: 3.2.0 info: title: Walton Capacity Mpp API version: 4.0.0 description: MPP marketplace for GPU capacity, hosted model inference, edge compute, shared workspaces, and supervised resources. Walton coordinates payment and direct handoff metadata without relaying provider capacity traffic. servers: - url: https://api.walton.bot tags: - name: MPP paths: /mpp/capacity: get: summary: Discover the capacity service responses: '200': description: Discovery manifest tags: - MPP operationId: getMppCapacity x-operation-id-source: derived /mpp/capacity/offers: get: summary: List safe capacity offers parameters: - name: type in: query schema: type: string enum: - GPU_CAPACITY - MODEL_INFERENCE - EDGE_COMPUTE - SHARED_WORKSPACE - SERVICE_ROBOT - THREE_D_PRINTER responses: '200': description: Offer collection content: application/json: schema: type: object properties: generatedAt: type: string format: date-time assets: type: array items: $ref: '#/components/schemas/CapacityOffer' tags: - MPP operationId: getMppCapacityOffers x-operation-id-source: derived /mpp/capacity/quotes: post: summary: Create a free capacity quote requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CapacityQuoteRequest' responses: '200': description: Fixed quote content: application/json: schema: $ref: '#/components/schemas/CapacityQuote' tags: - MPP operationId: postMppCapacityQuotes x-operation-id-source: derived /mpp/capacity/sessions: post: summary: Pay and reserve capacity description: First request may return HTTP 402. Retry the identical request with the MPP Authorization credential. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CapacitySessionRequest' responses: '201': description: Paid capacity session headers: Payment-Receipt: schema: type: string X-Capacity-Access-Token: schema: type: string content: application/json: schema: $ref: '#/components/schemas/CapacitySession' '402': description: MPP payment challenge tags: - MPP operationId: postMppCapacitySessions x-operation-id-source: derived /mpp/capacity/sessions/{sessionId}: get: summary: Read a paid capacity session parameters: - name: sessionId in: path required: true schema: type: string format: uuid - name: X-Capacity-Access-Token in: header required: true schema: type: string responses: '200': description: Session content: application/json: schema: $ref: '#/components/schemas/CapacitySession' tags: - MPP operationId: getMppCapacitySessionsBySessionId x-operation-id-source: derived /mpp/capacity/sessions/{sessionId}/cancel: post: summary: Cancel a capacity session parameters: - name: sessionId in: path required: true schema: type: string format: uuid - name: X-Capacity-Access-Token in: header required: true schema: type: string responses: '200': description: Cancelled session tags: - MPP operationId: postMppCapacitySessionsBySessionIdCancel x-operation-id-source: derived /mpp/capacity/sessions/{sessionId}/peering-profile: post: summary: Update buyer public peering profile description: Stores public buyer network information for the provider. Private keys and host passwords must never be submitted. parameters: - name: sessionId in: path required: true schema: type: string format: uuid - name: X-Capacity-Access-Token in: header required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BuyerPeeringProfile' responses: '200': description: Updated session content: application/json: schema: $ref: '#/components/schemas/CapacitySession' tags: - MPP operationId: postMppCapacitySessionsBySessionIdPeeringProfile x-operation-id-source: derived /mpp/capacity/sessions/{sessionId}/connection-confirmed: post: summary: Confirm the direct connection works description: Buyer confirmation changes the session to active. Walton does not test or relay the direct network path. parameters: - name: sessionId in: path required: true schema: type: string format: uuid - name: X-Capacity-Access-Token in: header required: true schema: type: string responses: '200': description: Active capacity session content: application/json: schema: $ref: '#/components/schemas/CapacitySession' tags: - MPP operationId: postMppCapacitySessionsBySessionIdConnectionConfirmed x-operation-id-source: derived components: schemas: CapacitySession: type: object properties: id: type: string format: uuid status: type: string statusLabel: type: string asset: $ref: '#/components/schemas/CapacityOffer' task: type: string amountCents: type: integer formattedAmount: type: string paymentRail: type: string paymentReceipt: type: string accessToken: type: - string - 'null' handoffUrl: type: - string - 'null' resourceAccess: type: - object - 'null' additionalProperties: true gpuAccess: type: - object - 'null' additionalProperties: true events: type: array items: type: object additionalProperties: true cancellable: type: boolean peering: oneOf: - $ref: '#/components/schemas/PeeringExchange' - type: 'null' CapacityOffer: type: object required: - id - type - title - status - locationLabel - currencyCode properties: id: type: string format: uuid type: type: string enum: - GPU_CAPACITY - MODEL_INFERENCE - EDGE_COMPUTE - SHARED_WORKSPACE - SERVICE_ROBOT - THREE_D_PRINTER title: type: string summary: type: string status: type: string latitude: type: number format: double longitude: type: number format: double locationLabel: type: string hourlyRateCents: type: - integer - 'null' perTaskRateCents: type: - integer - 'null' unitRateCents: type: - integer - 'null' billingUnit: type: - string - 'null' description: Usage unit such as 1K_TOKENS, REQUEST, IMAGE, AUDIO_MINUTE, or KWH. sessionFeeCents: type: - integer - 'null' currencyCode: type: string capabilities: type: array items: type: string gpuModel: type: - string - 'null' gpuCount: type: - integer - 'null' gpuMemoryGb: type: - integer - 'null' gpuAllocationMode: type: - string - 'null' cpuModel: type: - string - 'null' cpuCoreCount: type: - integer - 'null' memoryGb: type: - integer - 'null' storageGb: type: - integer - 'null' connectorType: type: - string - 'null' description: Inference task for MODEL_INFERENCE, workspace type for SHARED_WORKSPACE. connectorProtocol: type: - string - 'null' description: Hosted model endpoint standard or provider-side control protocol. connectorCount: type: - integer - 'null' accessMode: type: - string - 'null' availabilitySchedule: type: array items: type: string requiresOwnerApproval: type: boolean connectorOnline: type: boolean ownerDisplayName: type: string ownerRating: type: number completedRentals: type: integer model: type: - string - 'null' description: Hosted model name or provider model ID for MODEL_INFERENCE. capacity: type: - integer - 'null' description: Concurrent requests for MODEL_INFERENCE or bookable seats for SHARED_WORKSPACE. CapacityQuoteRequest: type: object required: - assetId - task - startAt - endAt properties: assetId: type: string format: uuid task: type: string startAt: type: string format: date-time endAt: type: string format: date-time requestedGpuCount: type: - integer - 'null' minimum: 1 requestedVramGb: type: - integer - 'null' minimum: 0 requestedCpuCores: type: - integer - 'null' minimum: 1 requestedMemoryGb: type: - integer - 'null' minimum: 1 requestedStorageGb: type: - integer - 'null' minimum: 1 requestedUnits: type: - integer - 'null' minimum: 1 description: Usage units for hosted inference, seats for a workspace, or job units for a supervised resource. PeeringExchange: type: object properties: status: type: string connectionMode: type: string providerReady: type: boolean buyerConfirmed: type: boolean buyerPublicKey: type: - string - 'null' buyerSshPublicKey: type: - string - 'null' buyerEndpoint: type: - string - 'null' buyerAllowedIps: type: - string - 'null' buyerIdentity: type: - string - 'null' buyerNetworkNotes: type: - string - 'null' providerEndpointHost: type: - string - 'null' providerEndpointPort: type: - integer - 'null' providerPublicKey: type: - string - 'null' providerAllowedIps: type: - string - 'null' sshUsername: type: - string - 'null' serviceUrl: type: - string - 'null' accessCode: type: - string - 'null' providerInstructions: type: - string - 'null' configurationSnippet: type: - string - 'null' providerSetupSteps: type: array items: type: string buyerSetupSteps: type: array items: type: string providerCompletedSteps: type: array items: type: string CapacitySessionRequest: type: object required: - quoteId - renterName - renterPhone - idempotencyKey properties: quoteId: type: string format: uuid renterName: type: string renterPhone: type: string instructions: type: - string - 'null' callbackUrl: type: - string - 'null' format: uri idempotencyKey: type: string workloadName: type: - string - 'null' description: Optional buyer-facing name for the capacity session. containerImage: type: - string - 'null' description: Optional workload or environment hint for the provider. Walton does not provision it. startupCommand: type: - string - 'null' description: Optional provider hint. Walton does not execute commands on the provider resource. exposedPorts: type: - array - 'null' items: type: integer description: Optional service-port hints for the provider to consider when opening the session-scoped peer. clientWireGuardPublicKey: type: - string - 'null' clientSshPublicKey: type: - string - 'null' material: type: - string - 'null' artifactUrl: type: - string - 'null' format: uri connectionMode: type: - string - 'null' enum: - WIREGUARD - SSH - TAILSCALE - HTTPS_API - MANUAL - null buyerPublicKey: type: - string - 'null' description: Buyer WireGuard public key. Never submit the private key. buyerSshPublicKey: type: - string - 'null' description: Buyer SSH public key. buyerEndpoint: type: - string - 'null' buyerAllowedIps: type: - string - 'null' buyerIdentity: type: - string - 'null' description: Tailscale identity or another provider-approved identity. buyerNetworkNotes: type: - string - 'null' CapacityQuote: type: object properties: id: type: string format: uuid asset: $ref: '#/components/schemas/CapacityOffer' task: type: string startAt: type: string format: date-time endAt: type: string format: date-time amountCents: type: integer depositCents: type: integer platformFeeCents: type: integer ownerPayoutCents: type: integer formattedAmount: type: string currencyCode: type: string paymentRail: type: string expiresAt: type: string format: date-time BuyerPeeringProfile: type: object required: - connectionMode properties: connectionMode: type: string enum: - WIREGUARD - SSH - TAILSCALE - HTTPS_API - MANUAL buyerPublicKey: type: - string - 'null' buyerSshPublicKey: type: - string - 'null' buyerEndpoint: type: - string - 'null' buyerAllowedIps: type: - string - 'null' buyerIdentity: type: - string - 'null' buyerNetworkNotes: type: - string - 'null' securitySchemes: bearerAuth: type: http scheme: bearer x-walton-model-providers: - Z.ai - Moonshot AI (Kimi) - DeepSeek - Mistral AI - Cohere - Anthropic - OpenAI - Google - Meta - Alibaba Cloud (Qwen) - xAI - MiniMax - AI21 Labs - Jina AI - Nomic AI - Nous Research - Black Forest Labs - Stability AI - Microsoft - Other