Skip to main content
Payment API credentials use a fixed permission schema to restrict what each integration can do.

Permission structure

Modules and effects

Important cashout rules

  1. Always use withdrawNowAvailable from GET /v1/balance to set cashout amount.
  2. If requiresFullWithdrawalNow = true, amount must be exactly withdrawNowAvailable.
  3. When cashouts.allowAnyPixKey = false, arbitrary PIX key destination is not allowed.
  4. For crypto cashouts, cryptoPayoutAccountId must reference an active, verified wallet belonging to the merchant; wallet addresses cannot be sent directly through the API.
  5. Operation environment (Sandbox or Production) is determined by the authenticated credential.
  6. cashoutAccounts.write also requires the feature to be enabled for the merchant by a Safefy administrator.

Best practices

  1. Use separate credentials per internal service.
  2. Apply least privilege for each credential.
  3. Avoid using a single full-access credential for every integration.
  4. Revoke and rotate credentials immediately if exposure is suspected.