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

# Execute Payout

> Execute a payout to a smart contract based recipient

Execute a payout to distribute revenue to a smart contract recipient. Use idempotency keys to prevent duplicate payouts.


## OpenAPI

````yaml POST /v1#payouts
openapi: 3.0.0
info:
  title: SHARE Protocol API
  description: Micropayments, revenue sharing and distribution.
  version: 1.0.0
  contact:
    name: Formless
    url: https://www.formless.xyz
servers:
  - url: https://share-ddn.formless.xyz
    description: Production server
security: []
paths:
  /v1#payouts:
    post:
      tags:
        - Payouts
      summary: Execute Payout
      description: Execute a payout to a smart contract based recipient
      operationId: payouts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  default: '2.0'
                id:
                  type: string
                  default: '1'
                method:
                  type: string
                  enum:
                    - payouts
                  default: payouts
                params:
                  type: object
                  required:
                    - idempotency_key
                    - recipient_type
                    - recipient_id
                    - amount
                  properties:
                    idempotency_key:
                      type: string
                      default: unique-payout-key-123
                      description: Unique key to prevent duplicate payouts
                    recipient_type:
                      type: string
                      enum:
                        - smart_contract
                      default: smart_contract
                      description: Type of recipient
                    recipient_id:
                      type: string
                      default: 7a2ab0d5-27d8-482f-becf-0ac3217e0b1a
                      description: ID of the recipient contract
                    amount:
                      type: object
                      required:
                        - value
                        - currency
                      properties:
                        value:
                          type: number
                          default: 10
                          description: Amount to pay out
                        currency:
                          type: string
                          enum:
                            - USD
                            - USDC
                          default: USD
                          description: Currency type
                      default:
                        value: 10
                        currency: USD
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutsResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    PayoutsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          enum:
            - '2.0'
        id:
          type: string
        result:
          oneOf:
            - $ref: '#/components/schemas/PayoutsSuccess'
            - $ref: '#/components/schemas/PayoutsError'
    PayoutsSuccess:
      type: object
      required:
        - batch_id
        - status
        - message
      properties:
        batch_id:
          type: string
          description: Unique identifier for the payout batch
        status:
          type: string
          enum:
            - pending
          description: Status of the payout
        message:
          type: string
          description: Status message about the payout processing
    PayoutsError:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - failed
          description: Status indicating failure
        message:
          type: string
          description: Error message describing what went wrong
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token with Unique ID identification

````