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

# Sign and broadcast with the master Solana wallet

> Validates and simulates a serialized Solana versioned transaction, then signs and broadcasts it with the authenticated merchant's active master wallet. The selected wallet must be a required signer and the fee payer. A 202 response represents submission, not on-chain finality.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/wallets/crypto/master/transactions/sign-and-broadcast
openapi: 3.1.0
info:
  title: FossaPay API
  description: >-
    FossaPay API for checkout wallets, master-wallet payouts, customer
    management, NGN wallets, crypto wallets, transfers, fees, banks, and
    webhooks.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api-production.fossapay.com
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/wallets/crypto/master/transactions/sign-and-broadcast:
    post:
      tags:
        - Crypto Wallets
      summary: Sign and broadcast with the master Solana wallet
      description: >-
        Validates and simulates a serialized Solana versioned transaction, then
        signs and broadcasts it with the authenticated merchant's active master
        wallet. The selected wallet must be a required signer and the fee payer.
        A 202 response represents submission, not on-chain finality.
      operationId: CryptoWalletsController_signAndBroadcastMasterTransaction
      parameters:
        - name: X-Idempotency-Key
          in: header
          required: true
          description: >-
            Unique merchant-scoped key for this exact signing request. Maximum
            255 characters.
          schema:
            type: string
            minLength: 1
            maxLength: 255
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolanaSigningRequest'
      responses:
        '202':
          description: Transaction simulated, signed, and submitted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolanaSigningResponse'
        '400':
          description: >-
            Malformed or unsupported transaction, wrong fee payer, missing
            co-signer, or invalid idempotency header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Active master Solana wallet not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: Idempotency key conflict or request already processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Solana transaction simulation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Signing rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    SolanaSigningRequest:
      type: object
      required:
        - serializedTransaction
      properties:
        serializedTransaction:
          type: string
          minLength: 1
          maxLength: 4096
          description: >-
            Base64-encoded serialized Solana VersionedTransaction. The selected
            FossaPay wallet must be a required signer and the fee payer; all
            other required signers must already have signed.
          example: >-
            AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAB...
      additionalProperties: false
    SolanaSigningResponse:
      type: object
      required:
        - status
        - statusCode
        - message
        - data
      properties:
        status:
          type: string
          const: success
        statusCode:
          type: integer
          const: 202
        message:
          type: string
        data:
          $ref: '#/components/schemas/SolanaSigningSubmission'
      additionalProperties: true
    ApiError:
      type: object
      properties:
        status:
          oneOf:
            - type: string
            - type: boolean
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string
        code:
          type: string
        errors:
          type: object
          additionalProperties: true
      additionalProperties: true
    SolanaSigningSubmission:
      type: object
      required:
        - requestId
        - walletType
        - walletId
        - walletAddress
        - network
        - cluster
        - feePayer
        - status
        - providerTransactionId
        - transactionHash
        - explorerLink
        - simulation
      properties:
        requestId:
          type: string
          format: uuid
        walletType:
          type: string
          enum:
            - master
            - customer
        customerId:
          type:
            - string
            - 'null'
          format: uuid
        walletId:
          type: string
          format: uuid
        walletAddress:
          type: string
        network:
          type: string
          const: solana
        cluster:
          type: string
          const: mainnet-beta
        feePayer:
          type: string
        status:
          type: string
          const: submitted
        providerTransactionId:
          type: string
        transactionHash:
          type: string
        recentBlockhash:
          type: string
        explorerLink:
          type: string
          format: uri
        simulation:
          $ref: '#/components/schemas/SolanaSigningSimulation'
      additionalProperties: true
    SolanaSigningSimulation:
      type: object
      properties:
        unitsConsumed:
          type:
            - integer
            - 'null'
        logs:
          type: array
          items:
            type: string
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````