// runs on Node.js, Bun & Deno

Unleash your server development.

An ultra-efficient JavaScript server framework for Node.js, Bun, and Deno. Fast by default, fully yours to configure.

src/Controllers/UserController.ts
import { Controller, Get, Post, Body } from '@vercube/core';

@Controller('/users')
export class UserController {
  @Get('/')
  async list() {
    return [{ id: 1, name: 'Ada' }];
  }

  @Post('/')
  async create(@Body() data: { name: string }) {
    return { id: 2, ...data };
  }
}

Built for modern development

Everything you need to ship fast, type-safe servers, and nothing you don't.

Router
GET/users200
POST/users201
GET/users/:id200

Decorator-based routing

Declarative controllers and method decorators map requests to handlers, with zero boilerplate.

vercube dev
$ vercube dev_
resolving modules
bundling with rolldown
Ready in 43ms

Blazing fast

Powered by Rolldown for minimal overhead and instant cold starts.

Container
LoggerConsoleLogger
DatabasePrismaClient
MailerResendMailer

Dependency injection

Clean, testable, scalable apps thanks to first-class built-in DI.

Request
GET /users
accept: application/json
Response
200 OK
content-type: application/json

Web-native HTTP

Build on the platform APIs you already know: Fetch, Request, and Response.

import { createApp }
from '@vercube/core'
export default app_

ESM-First

A modern architecture built fully around native ECMAScript modules.

server.port
logger
cors

Fully Configurable

Sensible defaults out of the box, with complete control when you need it.

const app: App = createApp()
inferred: App

Type-Safe by Design

End-to-end TypeScript with decorators and full type inference.

Measurably faster

Real numbers from the open benchmark suite. Same endpoints, comparable config, January 2026.

Vercube Fastest 95,588 req/s
NestJS 82,705 req/s
Rikta 81,156 req/s
Routing Controllers 78,195 req/s
Ts.ED 32,156 req/s

Run it yourself: vercube/benchmarks