DocsCore concepts

Core concepts

Understanding how Skiro routes money will save you a lot of time when something looks unexpected. Here's the model.

Transaction flow

Every payment goes through five stages:

  1. Session created. You call the API to create a checkout session. We return a URL that's valid for 1 hour.
  2. Customer pays. The customer enters their card on the hosted checkout. The card is tokenized and authorized through our processing partner.
  3. Authorization captured. If the card clears 3DS and fraud checks, we capture the funds. The transaction enters processing state.
  4. Conversion. We convert the captured fiat to your chosen crypto at the live rate, minus the platform fee.
  5. Payout. The crypto is sent to your wallet. The transaction moves to completed and a webhook fires.

The whole flow typically takes 1 to 5 minutes from card swipe to wallet credit, depending on network congestion for the chain you chose.

Core objects

The API exposes four main objects:

ObjectWhat it represents
checkout_sessionA one-time URL where a customer can pay. Created by you.
transactionThe actual payment record. Created when a customer completes a session.
payoutThe crypto transfer to your wallet. Linked 1:1 with a successful transaction.
webhookAn endpoint you registered to receive event notifications.

Payouts

Skiro does not custody merchant funds. The wallet address you configure in your dashboard is where every payout goes, automatically, on every successful transaction.

This is different from traditional processors that hold a balance you have to manually withdraw. There's no balance to manage on Skiro because there's no balance to begin with.

What “instant” really means
Payouts complete as soon as the underlying blockchain confirms the transfer. For TRC-20 USDT this is typically under 60 seconds. For BTC it's 10 to 30 minutes depending on network conditions.

You can change the wallet address at any time. The new address takes effect for the next transaction; in-flight transactions keep going to the previous address.

Fees

Fees are deducted from the gross transaction amount before the payout is sent. So if you charge $100 on the Free plan (15% fee), you receive ~$85 worth of crypto in your wallet.

The fee includes everything: card processing, currency conversion, network gas (for the blockchain transfer), and Skiro's margin. There are no separate line items for chargebacks, withdrawals, or settlement.

See pricing for the breakdown by plan.

Test mode

Test mode lets you build and verify your integration without processing real money. Use a test API key (sk_test_...) and you'll get:

  • Test card numbers that always succeed, always fail, or trigger 3DS challenges
  • Mock payouts that complete instantly to a fake wallet address
  • Webhook deliveries with the same shape as production
  • A separate test data set in your dashboard, isolated from live data

You can switch between test and live mode at any time using the toggle in your dashboard sidebar.

Live vs test

Test and live are two separate environments. They have:

  • Different API keys. Test keys can't make live charges and vice versa.
  • Different webhook secrets. The secret you create in test mode won't verify live webhooks.
  • Different data. Test transactions never appear in live reports, and vice versa.

When you ship to production, swap the API key and webhook secret in your environment variables. Nothing else needs to change.

Last updated: May 30, 2026