Send code, get results. Cold starts under 10ms, pay only for milliseconds used.
Send TypeScript in an API call, get the result back in milliseconds. Cold starts under 10ms, median execution of 84ms, and you only pay for the exact milliseconds used. No deployment step, no infrastructure, complete isolation between every run.
Serverless Runs finish before sandboxes finish starting
Serverless Runs finish before sandboxes finish starting
Cold starts under 10ms with median execution of 84ms.
Every run executes in its own isolated V8 sandbox.
Billed only for actual milliseconds of execution.
Send code in the request, get the result in the response. Perfect for AI-generated code, user scripts, data transformations, and one-shot tasks.
import { freestyle } from "freestyle";
const { result, logs } = await freestyle.serverless.runs.create({
code: `
import { z } from 'zod';
import { format } from 'date-fns';
const UserSchema = z.object({
name: z.string(),
email: z.string().email(),
createdAt: z.string().transform(s => new Date(s))
});
export default () => {
const user = UserSchema.parse({
name: "Alice",
email: "alice@example.com",
createdAt: "2024-01-15"
});
return {
...user,
formatted: format(user.createdAt, "MMMM do, yyyy")
};
};
`,
config: {
nodeModules: {
zod: "3.22.4",
"date-fns": "3.0.0"
},
timeout: 5000
}
});
console.log(result);
// { name: "Alice", email: "...", formatted: "January 15th, 2024" }Whether you're running AI-generated code, processing webhooks, or executing user scripts, Serverless Runs handle the load.
Start executing in under 10ms. Our median total execution time is 84ms—faster than most platforms' cold starts alone.
Billed only for actual execution time. An 84ms run costs 84ms. No minimum charges, no idle time billing.
Specify npm packages and we cache them. Subsequent runs with the same dependencies start even faster.
Allow or deny specific domains. Route traffic through your proxy. Block users from calling unauthorized APIs.
Write TypeScript directly—no compile step, no tsconfig. JSX/TSX works out of the box.
Each run executes in its own V8 isolate. Complete isolation between executions with no shared state.
Serverless Runs are optimized for single-use code execution. For an 84ms execution, sandbox platforms charge for 60,000ms.
| Metric | Freestyle Runs | AWS Lambda | Sandbox Platforms |
|---|---|---|---|
| Cold Start | <10ms | 100-500ms | 90-500ms |
| Min Billing | 1ms | 1ms | 60,000ms |
| Concurrency Limit | 10,000+ | 1,000 | 10-100 |
| Deploy Required | No | Yes | No |
Allow or deny network requests to specific domains. Route all traffic through your proxy for logging and monitoring. Keep user code sandboxed.
import { freestyle } from "freestyle";
// Only allow specific domains
freestyle.serverless.runs.create({
code: `...`,
config: {
networkPermissions: [
{ action: "allow", domain: "api.example.com", behavior: "exact" },
{ action: "allow", domain: "*.trusted.com", behavior: "wildcard" },
]
}
});
// Block specific domains
freestyle.serverless.runs.create({
code: `...`,
config: {
networkPermissions: [
{ action: "deny", domain: "malicious.com", behavior: "exact" },
]
}
});
// Route through your proxy
freestyle.serverless.runs.create({
code: `...`,
config: {
proxy: "http://your-proxy.com",
headers: {
"Proxy-Authorization": "Basic ..."
}
}
});Execute code in milliseconds. No credit card required.
Execute code generated by LLMs. Validate outputs, run calculations, process data.
Run custom code steps in your workflows. Transform data, call APIs, generate reports.
Let users write custom logic. Safely execute their code in isolated environments.

