cartd

Product overview

Everything in
one commerce
API.

A batteries-included backend that stays out of your UI. Deploy once, use from any frontend, framework, or platform.

Read the API Reference →

[Screenshot: Product catalog UI]

01Orders

Order management that gets out of your way

From cart to fulfillment, every order state is a first-class API concept. Track line items, apply discounts, record fulfillment events, handle partial returns — all via REST. Build your own checkout UI or use ours.

  • Custom order statuses and lifecycle hooks
  • Line-item level discount and tax support
  • Partial fulfillment and split shipments
  • Order notes, tags, and internal metadata

[Screenshot: Orders list with filters]

02Customers

Rich profiles, full data ownership

Every customer is a stored profile with order history, saved addresses, and custom metadata. No vendor lock-in — your data lives in your PostgreSQL database.

  • Full customer CRUD with address book
  • Order history and lifetime value
  • Searchable, filterable customer list
  • GDPR-friendly — delete or export any record

[Screenshot: Customer profile view]

03Webhooks

Real-time events, delivered reliably

Subscribe to commerce events and receive signed HTTP payloads at your endpoints. Automatic retries with exponential backoff, a delivery log for every attempt.

  • HMAC-signed payloads for security
  • Automatic retry with exponential backoff
  • Per-webhook delivery logs and status
  • Event types: orders, payments, inventory

[Screenshot: Webhook event log]

04Media

Asset management on Cloudflare R2

Upload product images and files directly to Cloudflare R2 via presigned URLs. No egress fees, instant global CDN delivery, and a media browser in the admin panel.

  • Direct browser-to-R2 uploads via presigned URLs
  • Zero egress costs compared to S3
  • Instant CDN via Cloudflare global network
  • Media library in the admin UI

[Screenshot: R2 media browser]

SDK

Typed JS/TS SDK
included.

Use the @cartd/sdk package for a typed, intuitive client that wraps the entire REST API. Full IntelliSense, zero manual fetch calls.

SDK Reference →
storefront.ts
import { Cartd } from '@cartd/sdk'

const client = new Cartd({
  apiKey: process.env.CARTD_API_KEY,
  storeId: process.env.CARTD_STORE_ID,
})

// List active products
const { products } = await client.products.list({
  status: 'active',
  page: 1,
  limit: 20,
})

// Create an order
const order = await client.orders.create({
  customerId: 'cus_01HX...',
  items: [
    { productId: 'prod_01HX...', quantity: 2 },
  ],
  shippingAddress: {
    line1: '123 Main St',
    city: 'San Francisco',
    country: 'US',
  },
})

// Register a webhook
await client.webhooks.register({
  url: 'https://your-app.com/api/webhooks',
  events: ['order.created', 'payment.captured'],
})
Comparison

How we stack up.

FeaturecartdMedusaShopify
Self-hosted
Open source
REST API firstPartial
TypeScript SDK
Bring your own frontendPartial
Built-in admin UI
No platform fees
BYOK emails
Cloudflare R2 media
Zero-config Railway deploy

Start building today.