PLATINUM DOCS
SDKs

Daytona SDK compatibility

Run the Daytona SDK against Platinum with no code changes.

The Daytona compatibility layer lets the Daytona SDK talk to Platinum. Point the SDK at a Platinum API key and Platinum's Daytona endpoint. Your Daytona code needs no changes.

The layer uses an ordinary Platinum API key. The native /v1/* API stays unchanged.

Setup

Set two environment variables:

export DAYTONA_API_KEY=pt_live_...
export DAYTONA_API_URL=https://api.platinum.dev/api/daytona

Then use the Daytona SDK as before. Daytona's snapshot parameter selects a Platinum template.

import { Daytona } from '@daytona/sdk';

const client = new Daytona();
const sandbox = await client.create({ snapshot: 'pt-base' });
const result = await sandbox.process.executeCommand('echo hello');
await sandbox.fs.uploadFile(Buffer.from('value'), '/tmp/value.txt');
console.log(result.result, String(await sandbox.fs.downloadFile('/tmp/value.txt')));
await client.delete(sandbox);

Compatibility matrix

The matrix covers the layer's control-plane and toolbox handlers. An unsupported operation on the mounted surface returns a typed error (statusCode · message · code, HTTP 501). It never returns a false success. Services this layer does not host at all — the snapshot registry, the standalone volume API, object storage — are not routed and answer 404.

The machine-readable version lives in packages/compat-matrix.json.

Sandbox lifecycle

Run code and commands

CapabilityStatusNotes
Foreground command executionSupportedresult is the combined stdout+stderr, returned on completion, not streamed
Code executionSupportedargv and envs are honoured
Chart artifactsAlways emptyThe call succeeds; artifacts.charts is [] — nothing is ever extracted
Background / reconnectable sessionsUnsupportedSee below
PTYUnsupportedSee below

Sessions and PTY are a platform gap, not a translation gap.

Guest exec kills the whole process group when the call returns, so no process survives for a later call to attach to. A PTY here dies with the connection, cannot be resized, and reports no exit code — nothing the layer can do would make the vendor's named, reconnectable session behave.

Files

find and search are not interchangeable.

find greps contents; search globs filenames. Calling the wrong one returns an empty result rather than an error.

Sandbox info

CapabilityStatusNotes
User home directory, working directorySupported
Toolbox versionSupported
System metricsSupportedGuest CPU, memory and disk
List ports, port-in-use checkSupportedReports listeners inside the guest

Secrets

Platinum org secrets are transform-only. The value is injected by the host egress proxy into an allowlisted request header, and never reaches the guest: no environment variable, no placeholder, no file. The vendor's secret model injects environment variables into the sandbox, so it cannot be honoured here. Use Platinum's native secrets API and the secrets scopes instead.

Verify a deployment

verify/compat/run.sh installs the real published SDK and drives it against a live control plane. It needs a Linux/KVM host attached, so it does not run on a control-plane-only machine.

PT_TOKEN=pt_live_... PT_API_URL=http://127.0.0.1:3000 ./verify/compat/run.sh