Skip to main content
Move your integration from sandbox to production and send your first real payout. For developers whose integration already works end to end in sandbox.
Agents: fetch this page as plain markdown at https://docs.usecleff.com/go-live.md.
Sandbox is open to every Business; production is not. Real money moves only once your Business’s verification (KYB) is approved. The road there has one step that is yours, one that is Cleff’s, and a final switch that is configuration.
1

Complete your business profile

In the dashboard, fill in your company’s verification dossier under Settings → Company: legal entity details, registration, and representative information. Do it early.When the profile is complete, submit it. Cleff holds your data encrypted and shares it with no payment provider at this stage.
2

Let Cleff review, price and verify your Business

A submitted profile moves to review. Cleff confirms your commercial terms with you and runs the provider’s verification. Settings → Company shows the verification status throughout, and you are notified when it reaches approved, the single gate that unlocks production.
3

Switch your integration to production

Going live is a credential swap plus real funding:
  1. Mint a production API key in Settings → API keys. Production keys carry the ck_production_ prefix; your sandbox Beneficiaries and payouts do not carry over.
  2. Fund your Cleff Account. No API call adds money in production; you fund it by bank transfer to the deposit instructions shown under Accounts in the dashboard.
  3. Re-create your configuration in production: register your webhook endpoint with the production key (each environment has its own endpoint and signing secret), and onboard your real Beneficiaries until each holds a destination a payout can be sent to.
  4. Send a first small payout and watch it through the lifecycle before opening the volume.

Check you are ready for a first payout

  • Verification approved; commercial terms agreed.
  • Production API key minted and stored in your secret manager. The plaintext is shown once, and rotation revokes the old key immediately.
  • Cleff Account funded, with enough balance for your first payout run. Creating a payout doesn’t check your balance, so a shortfall surfaces only when the payout is sent.
  • Webhook endpoint registered with the production key; signature verification tested against the production signing secret.
  • Each Beneficiary you are about to pay is ready, and each payout resolves to a destination with payout_usable: true: the one you name, else the one the Beneficiary declared, else the only one they hold. See which destination a payout goes to.
  • No Beneficiary you are about to pay has enrollment_status: rejected. The provider can refuse a Beneficiary even while they read ready, and a payout to them is then refused with BENEFICIARY_ENROLLMENT_FAILED; enrollment_failure_detail says why.
  • To pay debit cards: your Business is approved for card payouts (the dashboard’s Settings → Plan & Billing page shows it), and the Beneficiary has added their card through a collection link sent from production. Send a small card payout before paying cards at volume.
  • Your error handling covers the documented error codes; each one states the action that resolves it.

Next steps

Use with AI tools

Point your coding assistant at these docs as plain markdown.