> ## Documentation Index
> Fetch the complete documentation index at: https://docs.purincash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Payout

> Solicita um saque PIX ou LTC do saldo disponível. O débito do saldo é atômico. O valor máximo sacável é o campo withdrawable do GET /v1/wallet (balance - disputeBlocked): o saldo retido por disputas (MED) abertas ou perdidas não perdoadas não é sacável, e pedidos acima desse valor são rejeitados com 400 (o campo available da resposta indica o valor sacável). Saque PIX exige chave PIX verificada no dashboard (403 caso contrário). Saque LTC exige cryptoAmount e endereço LTC em formato válido. Rate limit de 10 solicitações por hora por chave de API (429 ao exceder). No sandbox retorna um saque simulado com status "completed", sem alterar o saldo real.



## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/payouts
openapi: 3.1.0
info:
  title: PurinCash API
  version: 1.0.0
servers:
  - url: https://api.purincash.com
    description: Produção
security:
  - bearerAuth: []
tags:
  - name: Cartao
    description: Pagamentos no cartao de credito.
  - name: Cobrancas
    description: Cobrancas PIX avulsas com valor livre.
  - name: Entregas
    description: Conteudo entregue automaticamente apos o pagamento.
  - name: Disputas
    description: Contestacoes (MED) e envio de evidencias.
  - name: Pagamentos
    description: Pagamentos PIX e LTC vinculados ou nao a um produto.
  - name: Saques
    description: Saques em PIX, LTC e USDT.
  - name: Produtos
    description: Produtos de cobranca criados pela API.
  - name: Sandbox
    description: Simulacao de pagamentos e saldo de teste.
  - name: Splits
    description: Cobrancas divididas entre varias contas.
  - name: Loja
    description: Produtos da loja do Discord (somente leitura).
  - name: Assinaturas
    description: PIX recorrente.
  - name: Carteira
    description: Saldo, retencoes e valores a liberar.
paths:
  /v1/payouts:
    post:
      tags:
        - Saques
      summary: Create Payout
      description: >-
        Solicita um saque PIX ou LTC do saldo disponível. O débito do saldo é
        atômico. O valor máximo sacável é o campo withdrawable do GET /v1/wallet
        (balance - disputeBlocked): o saldo retido por disputas (MED) abertas ou
        perdidas não perdoadas não é sacável, e pedidos acima desse valor são
        rejeitados com 400 (o campo available da resposta indica o valor
        sacável). Saque PIX exige chave PIX verificada no dashboard (403 caso
        contrário). Saque LTC exige cryptoAmount e endereço LTC em formato
        válido. Rate limit de 10 solicitações por hora por chave de API (429 ao
        exceder). No sandbox retorna um saque simulado com status "completed",
        sem alterar o saldo real.
      operationId: createPayout
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - amount
                - walletAddress
              properties:
                method:
                  type: string
                  enum:
                    - pix
                    - ltc
                  default: pix
                  description: Método do saque — "pix" (chave PIX) ou "ltc" (Litecoin).
                amount:
                  type: number
                  minimum: 5
                  maximum: 999999.99
                  description: >-
                    Valor do saque em BRL (mínimo R$ 5,00; máximo R$
                    999.999,99). Para PIX, deve ser menor ou igual ao campo
                    withdrawable do GET /v1/wallet (balance - disputeBlocked).
                walletAddress:
                  type: string
                  maxLength: 100
                  description: >-
                    Chave PIX (para method "pix") ou endereço LTC (para method
                    "ltc"). Endereços LTC são validados por formato (legado
                    L/M/3 ou bech32 ltc1...).
                cryptoAmount:
                  type: number
                  exclusiveMinimum: 0
                  description: >-
                    Quantidade em LTC a sacar. Obrigatória quando method é
                    "ltc".
            example:
              method: pix
              amount: 100
              walletAddress: email@exemplo.com
      responses:
        '201':
          description: >-
            Saque criado. Em produção o status é "pending" (aguardando
            aprovação); no sandbox o retorno é simulado com status "completed" e
            inclui walletAddress.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Código do saque (igual a code).
                  code:
                    type: string
                    description: >-
                      Código do saque (SAQ-API-... em produção, SAQ-SBX-... no
                      sandbox).
                  method:
                    type: string
                    enum:
                      - pix
                      - ltc
                    description: Método do saque.
                  amount:
                    type: number
                    description: Valor do saque em BRL.
                  cryptoAmount:
                    type: number
                    description: Quantidade em LTC (presente apenas quando method é "ltc").
                  walletAddress:
                    type: string
                    description: Chave/endereço informado (retornado apenas no sandbox).
                  status:
                    type: string
                    enum:
                      - pending
                      - completed
                    description: >-
                      Status inicial do saque — "pending" em produção
                      (aguardando aprovação), "completed" no sandbox.
                  sandbox:
                    type: boolean
                    description: Indica se o saque foi criado no ambiente de teste.
              example:
                id: SAQ-API-A1B2C3D4
                code: SAQ-API-A1B2C3D4
                method: pix
                amount: 100
                status: pending
                sandbox: false
        '400':
          description: >-
            Parâmetros inválidos ou saldo insuficiente. O saque é rejeitado
            quando amount excede o saldo sacável (withdrawable = balance -
            disputeBlocked, descontando disputas MED abertas/perdidas); nesse
            caso o campo available retorna o valor sacável. Também retornado
            para method inválido, amount fora dos limites, walletAddress
            ausente, endereço LTC em formato inválido ou cryptoAmount ausente em
            saques LTC.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro.
                  available:
                    type: number
                    description: >-
                      Saldo disponível, presente nos erros de saldo insuficiente
                      — valor sacável em BRL para PIX (balance - disputeBlocked)
                      ou saldo LTC para saques LTC.
              example:
                error: Insufficient balance
                available: 1400.75
        '401':
          description: Chave de API ausente ou inválida.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro.
              example:
                error: Unauthorized
        '403':
          description: >-
            Chave PIX não verificada — complete a verificação no dashboard da
            PurinCash antes de solicitar saques PIX.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro.
              example:
                error: >-
                  PIX not verified. Complete verification in the dashboard
                  first.
        '429':
          description: >-
            Rate limit excedido — máximo de 10 solicitações de saque por hora
            por chave de API (requisições com erro não contam para o limite).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro.
              example:
                error: 'Rate limit: max 10 payout requests per hour'
        '500':
          description: Erro interno.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro.
              example:
                error: Internal error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Chave de API gerada no dashboard da PurinCash (ps_live_ ou ps_test_).

````