SaaSignal is in public beta — free tier, no credit card required Read the docs →
Cloudflare Edge · KV · Channels · Jobs

The serverless
infrastructure
layer.

Three composable primitives — global key-value, real-time pub/sub, and unified job queues — built for Next.js and Vercel. No config files. No clusters. Just an API key.

Read the docs

Works with Next.js 13+ · App Router · Edge Runtime · Node.js

app/api/metric/route.ts
// Three APIs. One import.
import  createClient  from 'saasignal'
import  NextResponse  from 'next/server'

const ss = createClient(process.env.SAASIGNAL_KEY)

export async function POST(req: Request) 
  const  orgId, metric, value  = await req.json()

  // Cache at the edge — 1 token
  await ss.kv.set(`metric:${orgId}`, value)

  // Push to live dashboards — 2 tokens
  await ss.channels.publish(`org:${orgId}`, 
    event: 'metric.updated',
    data:  metric, value 
  )

  // Queue background work — 5 tokens
  await ss.jobs.create(
    trigger:  type: 'immediate' ,
    handler: 'https://acme.com/api/process',
    payload:  orgId, metric, value 
  )

  return NextResponse.json( ok: true )
Built for
Next.js Cloudflare Edge Runtime Node.js

Three APIs.
Every backend feature.

Queue, Task, and Cron are not different things — they're all "execute a handler, at some point, with retries." The only difference is the trigger.

KV 1 token / read

Global Key-Value Store

Sub-millisecond reads from 300+ edge locations. Sessions, feature flags, rate limits, distributed locks — all from a single API.

import { createClient } from 'saasignal'
const ss = createClient(process.env.SAASIGNAL_KEY)

// Edge-fast sessions
await ss.kv.set('session:u_123', {
  userId: 'u_123',
  role: 'admin',
  plan: 'pro',
}, { ttl: 86400 })

// Atomic counters
await ss.kv.increment('ratelimit:u_123')

// Batch operations
const { results } = await ss.kv.batch([
  { op: 'get', key: 'config:flags' },
  { op: 'get', key: 'config:limits' },
])
Channels 2 tokens / publish

Real-Time Pub/Sub

WebSocket and SSE subscriptions with presence, message history, and fan-out. Build live dashboards in minutes, not months.

// Publish from your API route
await ss.channels.publish('org:acme', {
  event: 'metric.updated',
  data: { mrr: 42840, delta: +1200 }
})

// Subscribe in the browser
const channel = ss.channels.subscribe('org:acme')
channel.on('metric.updated', ({ mrr, delta }) => {
  setMRR(mrr)
})

// Presence — who's online right now
const { users } = await ss.channels.presence('org:acme')
console.log(users.length, 'users online')
Jobs 5 tokens / job

Tasks, Queues & Cron

One primitive replaces three services. Immediate tasks, delayed execution, cron schedules, push queues, pull queues — all with retries and dead-letter.

// Send welcome email in background
await ss.jobs.create({
  trigger: { type: 'immediate' },
  handler: 'https://app.acme.com/api/on-signup',
  payload: { userId: 'u_123' },
  max_attempts: 3,
  backoff: 'exponential',
})

// Nightly billing digest (cron)
await ss.jobs.create({
  trigger: {
    type: 'scheduled',
    schedule: '0 9 * * *',
    timezone: 'America/New_York',
  },
  handler: 'https://app.acme.com/api/digest',
})

From zero to global edge
in four steps.

01

Create a project

Sign up, create an org, then a project. Takes 30 seconds.

02

Generate an API key

Create a scoped key and add SAASIGNAL_KEY to your Vercel environment.

03

Install the SDK

Run npm install saasignal and import with a single line.

04

Deploy

Push to Vercel. KV, Channels, and Jobs are live on 300+ edge locations.

One balance.
Every primitive.

Tokens are shared across KV, Channels, and Jobs. No per-service billing, no overages surprises. Top up with token packs anytime.

KV read1 token
KV write / delete2 tokens
KV scan / batch5 tokens
Channel publish2 tokens
Job create5 tokens
3.2M
of 5M tokens
KV
1.8M
Channels
840K
Jobs
560K

Simple, transparent pricing.

Start free. Scale as you grow. No infrastructure costs, ever.

Free
$0
  • 100K tokens / month
  • 10 req/s
  • 100 channel subscribers
  • Global edge deployment
  • All three primitives
Start for free
Scale
$199/mo
  • 25M tokens / month
  • 1,000 req/s
  • 100K channel subscribers
  • Global edge deployment
  • All three primitives
Get started

Need more? Contact us for enterprise pricing with SLAs.

Your next Vercel app
deserves better infrastructure.

Get KV, Channels, and Jobs in one API call. Free to start, no credit card required.