Financial infrastructure for companies that move money.

VoltHQ gives businesses one API for accepting card payments, holding a balance and paying out across currencies. Corporate cards for company spend are next.

Test-mode keys are issued the moment you sign up. KYC is required before live mode.

A customer paying by card on a countertop terminal next to a shop's point-of-sale tablet.
API uptime, trailing 90 days
99.99%
Median authorization latency
92 ms
Card data handling
PCI DSS Level 1

VoltPay · Live

Payments infrastructure, built for the engineers who integrate it.

Accept cards, hold the funds in a VoltHQ balance, and pay out to your bank when you choose. Every movement lands in a double-entry ledger you can read over the API, so your books and ours agree without a nightly reconciliation script.

A laptop on a desk showing a reporting dashboard with charts and totals.

Card acceptance

Authorize, capture, void and refund. Refunds can be full or partial. 3DS is triggered where the issuer or region requires it.

Balances

Settled funds sit in a VoltHQ-held balance per currency, with pending and available amounts tracked separately.

Payouts

Push to your bank on a schedule or on demand. Each payout links to the transactions inside it.

Real-time ledger

Every payment, fee, refund and payout is written as balanced debits and credits, readable the instant it posts.

Webhooks

Signed events with a timestamped signature, retried with backoff for 24 hours, and replayable from the dashboard.

Keys and modes

Test and live keys are fully separate stacks. Restricted keys scope down to the endpoints a service actually needs.

Disputes

Chargebacks arrive as events with the network reason code, the evidence deadline and an endpoint to submit your response.

Onboarding and KYC

Build against test mode on day one. Submit business details, ownership and bank information to switch live mode on.

POST /v1/payments curl
curl https://api.volthq.org/v1/payments \
  -u sk_live_4Kd9xTqR2mVbN7wL: \
  -H "Idempotency-Key: 8f21c0a4-inv-8842" \
  -d amount=249900 \
  -d currency=usd \
  -d capture_method=automatic \
  -d statement_descriptor="NORTHWIND SaaS" \
  -d payment_method=pm_1QRt6zVhKp \
  -d "metadata[invoice_id]=inv_8842"
201 Created application/json
{
  "id": "pay_3PxQ7aK2mLd8",
  "object": "payment",
  "status": "succeeded",
  "amount": 249900,
  "amount_captured": 249900,
  "currency": "usd",
  "fee": 7297,
  "net": 242603,
  "livemode": true,
  "payment_method_details": {
    "type": "card",
    "brand": "visa",
    "last4": "4242",
    "country": "US"
  },
  "balance_transaction": "btxn_9Kd2VpQr",
  "created": 1755763214
}

The ledger is part of the API, not a monthly report.

That one payment writes three entries. Debits equal credits, always, and GET /v1/ledger/entries returns them scoped to the payment, the payout, or a date range. Fees are booked at the moment they are charged, so an available balance is never a guess.

Amounts are integers in the currency's minor unit. Writes are idempotent on the Idempotency-Key header for 24 hours, so a retried request cannot double-charge or double-book.

GET /v1/ledger/entries?payment=pay_3PxQ7aK2mLd8
AccountDebitCredit
card_settlement:receivable2,499.00
merchant_balance:pending2,426.03
volthq_fees:processing72.97
Total (USD)2,499.002,499.00
  • Versioned, dated API Your account is pinned to the version you integrated against. Upgrades are explicit and opt-in.
  • Errors you can act on Every 4xx returns a stable machine code, the offending parameter, and a message you can log.
  • Test mode that behaves Test keys produce real webhooks, real ledger entries and forced decline codes. No sandbox surprises.

VoltCards · Coming soon

Corporate cards for the money your company spends.

VoltPay handles what comes in. VoltCards is being built for what goes out: employee spend on cards you issue and control, sitting on the same balance and the same ledger.

A person at a laptop holding a plain payment card.

Physical and virtual cards

Issue a virtual card in a moment for a subscription or a vendor. Order physical cards for the people who need one.

Limits per person and category

Set a monthly ceiling for each employee, and cap or block categories like travel, software or fuel.

Receipt capture

The cardholder attaches a receipt to the transaction. Missing ones are chased automatically.

Accounting sync

Transactions land in your accounting system already coded to the right account and cost centre.

VoltCards is not available yet. It is in a closed early-access programme with a small number of existing VoltPay accounts. There is no sign-up, no waitlist and no pricing to quote.

If you already run payments on VoltPay, your account team will turn it on when it is ready for you. Everything on this page describes what we are building, not what you can buy today.

Start in test mode. Ship when your ledger balances.

Create an account, take your test keys, and put a payment through in an afternoon. KYC comes when you are ready to charge real cards.