Agents: fetch this page as plain markdown at
https://docs.usecleff.com/go-live.md.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:
- 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. - 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.
- 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.
- 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 withpayout_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 readready, and a payout to them is then refused withBENEFICIARY_ENROLLMENT_FAILED;enrollment_failure_detailsays 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.