Create a top-up
Starts a Stripe Checkout session to fund your balance by card. Card top-ups pay Stripe's processing fee and become available after 7 days. Bank transfers are not available yet; method: bank_transfer returns 400. Needs an owner, admin or billing admin, signed in or through a full-access key they created.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Header Parameters
Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409. A request cut off mid-handler (for example by a function timeout) can leave its key in progress, answering 409 until the key expires after 24 hours.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.treasury.createTopup({ body: { amountCents: 1000, method: 'card', },});console.log(data);{ "topupId": "string", "url": "http://example.com"}Create a payee onboarding link
Returns a Stripe-hosted link where the payee completes identity and bank details so they can receive payouts.
Create a transfer
Moves money from your balance to a payee. The payee receives the full `amountCents`; Zernio's fee (4%, 50 cent minimum) is added on top, so your balance is debited `totalCents` = `amountCents` + `feeCents`. Returns 402 when the balance does not cover the amount plus the fee, or when it is negative after a dispute or refund of a card top-up ("Your balance is negative after a dispute or refund of a card top-up. Add funds to cover it before sending transfers."), and 409 when the payee has not finished onboarding or the Idempotency-Key is still processing. Needs an owner, admin or billing admin, signed in or through a full-access key they created: a profile-scoped key answers 403. A same-key retry never makes the transfer twice within Stripe's 24-hour idempotency window and answers 409 while another request is still waiting on Stripe for it; a transfer Stripe has not confirmed after 24 hours answers 409 until the daily reconciliation marks it paid (Stripe made it) or failed (it did not).