Skip to main content

Stablecoin payroll and contractor payouts

What it is

Stablecoin payroll for contractors is paying the people who work for you in stablecoins, sent to their own wallets, in place of a bank transfer.

Global payroll and contractor platforms offer it to workers who ask to be paid that way, and each payout still has to be approved, screened, signed and tied back to a payslip.

Goldsky can run the task that screens, sends and confirms each payout and records its transaction hash for the payslip, while the pay run, the keys and the payroll records stay with you.

Who it’s for

Global payroll platforms, employer-of-record providers and contractor-payment apps that pay workers in other countries.

How a stablecoin pay run works

The chart covers one pay run, starting when the contractor is verified and ending when payroll closes the run. Your setup may differ.

Your business, step 1: KYC/KYB providerVerify the contractorIdentity checked when they join
Your business, step 2: Approve the pay runPayroll approves this cycle’s contractor payouts
Your business, step 3: Bank or on/off-rampFund the payroll walletBank dollars converted to stablecoins
Goldsky, step 4: ComposeStart the payout taskEach payee wallet screened before paying
Your business, step 6: Wallet or custody providerSign the payoutsSigned under your approval policy
Goldsky, step 5: ComposeBuild each payoutEach one sent to your signing endpoint
Your business, steps 8–9: Close the pay runEach payslip marked paid with its transaction hash
Blockchains, step 7: Payouts settleStablecoins reach each contractor’s wallet
  • Goldsky
  • Your provider

How to pay contractors in stablecoins

A TypeScript task that you write and Goldsky hosts takes an approved pay run, screens each contractor’s wallet, sends each payout to your signer and waits for it to confirm. Each payout’s transaction hash comes back to the task, which ties it to the payslip.

What you’ll need

  • Goldsky Compose
  • An identity verification provider for contractors
  • A screening provider with an API for wallet checks
  • A custody provider with an approval policy that can sign EIP-712 typed data and EIP-7702 authorizations, reached through a signing endpoint you host
  • Stablecoins in a payout wallet, and a fiat provider to fund it
  • Your payroll system
  1. Verify the contractor

    Before you pay someone, you have to know who they are and where the money is going.

    Your identity verification provider checks the contractor when they join, and you record the wallet they want to be paid to. Collect their tax form at the same time, such as the W-8BEN a US payer asks a contractor abroad for, because the payer needs it on file to decide whether to withhold tax. A wallet changed later without a fresh check is a common way payroll fraud gets in.

  2. Approve the pay run

    Payroll decides who is paid what this cycle, and nothing should move until that list is signed off.

    Someone with authority approves the list of payees, amounts and payslip references. If the list changes after approval, some contractors are paid on numbers nobody signed off. Streaming payroll works without runs: pay accrues by the second from the start of the cycle and the worker withdraws any part of it at any time, so what gets approved is each worker’s rate.

  3. Fund the payroll wallet

    Payroll money usually sits in a bank account, and the run pays out stablecoins, so the approved total has to be converted first.

    Your banking or on-ramp partner takes the bank transfer and sends the same amount in stablecoins to your payout wallet. Fund the whole approved total before the run starts; a run that starts short pays some contractors and leaves the rest waiting.

  4. Start the run and screen each wallet

    Handled by Goldsky Compose

    Each payout should go only to a wallet that passes your screening, checked at the moment you pay.

    Every payee wallet is checked against your sanctions and risk rules before its payout is built, because sanctions rules apply to a stablecoin payout just as they do to a bank transfer. A wallet that fails is held for review, and the rest of the run carries on.

    With Goldsky Compose, your payroll system can start the payout task with an HTTP call, and the task calls your screening provider’s API for each wallet before paying it.

    Start a task over HTTP (opens in a new tab)
  5. Build each payout and send it for signing

    Handled by Goldsky Compose

    Each payout has to be turned into a transaction and handed to whoever holds the key.

    The transaction carries the contractor’s wallet and the amount. Most stablecoins have no memo field, so the transaction hash each payout returns is what ties it to its payslip. A payout built twice for one payslip pays the contractor twice, so each one needs a fixed identity across retries.

    A Compose task can send each payout through a webhook wallet: Compose builds a UserOperation (the transaction format smart-account wallets use), posts it to a signing endpoint you host, and submits it as a gas-sponsored transaction once your server returns the signature. The first time the wallet sends on a chain, your endpoint also signs a one-time EIP-7702 authorization that lets the address act as a smart account there. The task waits for the confirmations you set, resends the payout if a reorg drops it, and doesn’t send again a payout that already went through if it restarts mid-run.

    Use a webhook wallet (opens in a new tab)
  6. Sign the payouts

    Moving payroll money takes a signature, and most firms keep that key with a custody provider whose rules say who can approve what.

    Your signing endpoint holds the limits and approvers set before the run starts: it reads the recipient and amount from each payout’s call data, checks them, then asks your custodian to sign. A key kept in application settings with no rules around it lets anyone who can change the app move payroll funds.

  7. Settle each payout in the contractor’s wallet

    A payout is done when the chain has accepted it and it can no longer be reversed.

    A payout can be dropped before it’s included, or undone when the chain replaces its newest blocks (a reorg). Until enough blocks sit on top of it, treat it as sent and keep the payslip open.

  8. Record each payout’s dollar value

    Tax authorities such as the IRS count pay received in digital assets at its fair market value when it arrived, so the value has to be captured then, not worked out later.

    Store each payout’s dollar value at the time it landed on the chain, with the contractor’s wallet and the transaction hash, against the payslip. A value looked up weeks later, or a payout recorded without its wallet, is what makes year-end reporting slow.

  9. Close the pay run

    The run is finished when every payslip is marked paid or has a reason it wasn’t.

    Your payroll system marks each payslip paid against the transaction hash the task recorded for it, and the total paid is checked against the approved run. Held or failed payouts are followed up before the run closes, or they sit unpaid with nobody chasing them.

What you control

Your team
  • Approve the pay run
  • Record each payout’s dollar value
  • Close the pay run
Your providers
  • KYC/KYB provider
  • Bank or on/off-ramp
  • Wallet or custody provider

Security and deployment

  • SOC 2 Type IIIndependently audited security controls.
  • Dedicated infrastructureSingle-tenant options for production workloads.
  • Data residencyCloud, on-premises or co-located.

Pay contractors in stablecoins with Goldsky

We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.

© Endless Sky Inc. All rights reserved.

PrivacyTermsSecurity

System status