An API development kit for PHP

Everything for the road.
Nothing you don't need.

Kipchak gives your PHP API the structure of a framework without the weight of one — Slim 4 underneath, FrankenPHP worker mode in front, and 45 drivers and middleware ready when you are.

Five minutes to first request
$ composer create-project kipchak/starter my-api
$ cd my-api
$ docker compose up --watch

✓ FrankenPHP worker running
✓ http://localhost:8080/v1/sultans → 200 OK

3,000req/s

served in production on the AlAdhan API, per instance

60% less

resource use than comparable Laravel or Symfony stacks on FPM

45packages

independent drivers & middleware — adopt them one at a time

0magic

PSR-compliant throughout — it's Slim, structured

A framework's structure, a library's footprint

Kipchak is a handful of files on top of Slim. It formalises the three things every API needs — booting, drivers, middleware — and stays out of everything else.

§1

One honest bootstrap

Api::boot() loads drivers, middleware, then routes. You can read the whole core in a sitting.

§2

Nothing to unlearn

PSR-3, 7, 11 and 18 throughout. If you know modern PHP, you already know Kipchak.

§3

Worker-mode native

Long-lived FrankenPHP processes with Caddy in front — and hot reload while you develop.

§4

Configuration first

Plain PHP config files, one per concern: kipchak.doctrine.php, kipchak.valkey.php — env-aware and greppable.

§5

Container-ready

Docker and Kubernetes configuration ship in the starter. Dev and production run the same image.

§6

Extensible by design

Drivers implement a three-method interface. Your team's internal services become drivers in an afternoon.

The caravan: drivers & middleware

Each one an independent Composer package following the same conventions. Free packages are open source; Enterprise packages fund the project and come with support.

Drivers · 28 packages · 6 planned

ClickHouseAnalytics queries, streamed results and batched insertsFreeVector DatabasesSemantic search and RAG on Qdrant, pgvector or OpenSearchFreeNATS & JetStreamMessaging, request/reply, durable streams and key-value bucketsFreeOAuth 2 TokenOAuth 2.0 client-credentials token handlingEnterpriseValkeyValkey / Redis cache — standalone, sentinel, cluster & replicaEnterpriseOpenSearchOpenSearch, multi-connection with every auth modeEnterpriseKafkaKafka producer & consumer with SASL/SSLEnterpriseOPAPolicy decisions via Open Policy AgentEnterpriseLDAPLDAP & Active Directory logins, groups and searchEnterpriseVault / OpenBaoSecrets from Vault or OpenBao in config, with KV and TransitEnterpriseOpenTelemetryTraces, metrics and logs over OTLP, with the drivers instrumentedEnterprise
Vault dynamic credentialsLease renewal & credential rotation for Vault / OpenBaoPlannedEnterprise
Cassandra / ScyllaDBWide-column storage at scalePlannedEnterprise
Snowflake / BigQueryData-warehouse queriesPlannedEnterprise
SOAP ClientTyped clients for legacy SOAP servicesPlannedEnterprise
IBM MQEnterprise message queueingPlannedEnterprise
TemporalStart, signal & query durable workflowsPlannedFree

Kipchak Enterprise

For the teams who can't go down

The infrastructure-grade tier: clustering, search and streaming drivers, edge intelligence, and advanced auth — supported by the people who wrote them.

OAuth 2 Token

OAuth 2.0 client-credentials token handling

Valkey

Valkey / Redis cache — standalone, sentinel, cluster & replica

OpenSearch

OpenSearch, multi-connection with every auth mode

Kafka

Kafka producer & consumer with SASL/SSL

OPA

Policy decisions via Open Policy Agent

LDAP

LDAP & Active Directory logins, groups and search

Vault / OpenBao

Secrets from Vault or OpenBao in config, with KV and Transit

OpenTelemetry

Traces, metrics and logs over OTLP, with the drivers instrumented

Auth — JWT

Advanced JWT authentication

Subashi Pro

Enterprise WAF with geo & ASN edge intelligence

Usage Metering

Per-consumer usage events for billing, to Kafka or logs

Quotas

Per-plan limits on requests and credits, per customer

Idempotency

Safe retries with Idempotency-Key: responses replayed, never run twice

PII Redaction

Mask, hash or remove personal data in responses and every log line

Audit Log

Signed records of who did what, to Kafka, OpenSearch or NATS

RBAC / ABAC Policy

Route-level authorisation from roles, permissions, attributes or OPA

Circuit Breaker

Fleet-wide breakers for downstream calls, shared in Valkey

OpenTelemetry

A server span and request metrics for every request

Priority support

Upgrade guidance from the maintainers

Proven on the road

“The AlAdhan API answers three thousand requests a second for the global Muslim community — on Kipchak, on far less hardware than before.”

aladhan.com · Islamic Network · AlAdhan API, running on Kipchak v3

Relative resource use · same workload

Kipchak + FrankenPHP1.0×
Slim + FPM~1.6×
Laravel / Symfony + FPM~2.5×

Measured on production API workloads at Mamluk; your numbers will vary.