Cobaltpay
Developers

Build payments in an afternoon

A clean REST API, server SDKs for every major language, and signed webhooks you can trust. Start in test mode, ship to production once your first account passes KYC — the endpoints never change.

REST + JSON/Idempotent writes/Signed webhooks/Full test mode
Quickstart

From zero to first payment in three steps

No sales call, no sandbox waiting list. Pull a key, create a charge and react to the webhook — the same code runs unchanged when you flip to live mode.

01

Get your API keys

Create a sandbox account and grab a test secret key from the dashboard. Every request is authenticated with a single bearer token — no OAuth dance to accept payments.

~/.zshrcshell
1export COBALT_API_KEY=sk_test_8Q2k4f1a9
2
3# Verify the key resolves to your account
4curl https://api.cobaltpay.com/v1/account \
5 -u $COBALT_API_KEY:
02

Create a charge

Take a payment on a connected account and split your platform fee in the same call. Idempotency keys make every write safe to retry over flaky networks.

charge.tsnode
1const charge = await cobalt.charges.create({
2 amount: 4200, // $42.00
3 currency: "usd",
4 account: "acct_8Q2k", // connected merchant
5 application_fee: 336,
6})
03

Receive a webhook

Cobaltpay tells you the moment money moves. Verify the signature, switch on the event type, and update your ledger — settlement data is included on every payload.

webhook.tsnode
1const event = cobalt.webhooks.verify(
2 req.body, req.headers["cobalt-signature"]
3)
4
5if (event.type === "charge.succeeded") {
6 ledger.settle(event.data.id)
7}
Developers

Built for developers, by people who ship

A clean REST API, predictable objects, and webhooks you can trust. Move from sandbox to live without rewriting your integration — same endpoints, same idempotency guarantees, full settlement data on every event.

  • REST API + signed webhooks
  • Idempotency keys on every write
  • Full test mode with sandbox data
  • SDKs for Node, Python, Ruby, Go
  • Embeddable checkout & elements
1import Cobaltpay from "cobaltpay"
2 
3const cobalt = new Cobaltpay(process.env.API_KEY)
4 
5// Create a charge on a connected account
6const charge = await cobalt.charges.create({
7 amount: 4200, // $42.00
8 currency: "usd",
9 account: "acct_8Q2k",
10 application_fee: 336, // 8% + $0.30
11}, { idempotencyKey: "chg_7f1" })
12 
13console.log(charge.status) // "succeeded"
SDKs & tools

Official libraries for your stack

Typed, versioned and battle-tested. Every SDK ships with automatic retries, idempotency helpers and request signing built in — install one line and you are ready.

Node.js

JavaScript / TypeScript
npm i cobaltpay

Python

3.8+
pip install cobaltpay

Ruby

Bundler ready
gem install cobaltpay

Go

Modules
go get cobaltpay.com/go

PHP

8.1+
composer require cobaltpay/sdk

Java

Maven / Gradle
implementation 'com.cobaltpay:sdk'

Test mode that mirrors production

Simulate successful charges, declines, disputes and payouts with deterministic test cards and a sandbox clock. Nothing touches a real bank until you swap your secret key.

Explore test data

Webhooks you can verify and replay

Every event is signed with a rotating secret and timestamped to block replays. Inspect deliveries, retry failures and forward events to localhost with the Cobalt CLI.

Webhook guide
Get started

Start moving money in days, not months.

Onboard merchants, accept payments and settle payouts on one platform. Go live with sandbox keys today and switch to production once your first account passes KYC.

or talk to our team

No setup fees · No monthly minimums · PCI DSS Level 1