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

# Payloads

> Given a set of operations, create payloads that must be signed to create a valid transaction.



## OpenAPI

````yaml nodeapi/openapi/icp-openapiv3-vc2.json POST /construction/payloads
openapi: 3.0.3
info:
  title: ICP Rosetta API
  description: OpenAPI v3 spec for ICP Rosetta endpoints on the Internet Computer.
  version: 1.0.0
servers:
  - url: https://icp-mainnet.icp.validationcloud.io/v1/<YOUR_API_KEY_HERE>
security: []
paths:
  /construction/payloads:
    post:
      tags:
        - Construction
      summary: Create transaction payloads to sign
      description: >-
        Given a set of operations, create payloads that must be signed to create
        a valid transaction.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstructionPayloadsRequest'
      responses:
        '200':
          description: Payloads to be signed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstructionPayloadsResponse'
        '500':
          description: Internal server error
components:
  schemas:
    ConstructionPayloadsRequest:
      type: object
      properties:
        network_identifier:
          $ref: '#/components/schemas/NetworkIdentifier'
        operations:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        metadata:
          type: object
          additionalProperties: true
        public_keys:
          type: array
          items:
            $ref: '#/components/schemas/PublicKey'
    ConstructionPayloadsResponse:
      type: object
      properties:
        unsigned_transaction:
          type: string
        payloads:
          type: array
          items:
            $ref: '#/components/schemas/SigningPayload'
    NetworkIdentifier:
      type: object
      required:
        - blockchain
        - network
      properties:
        blockchain:
          type: string
          example: Internet Computer
        network:
          type: string
          example: '00000000000000020101'
        sub_network_identifier:
          $ref: '#/components/schemas/SubNetworkIdentifier'
    Operation:
      type: object
      properties:
        operation_identifier:
          $ref: '#/components/schemas/OperationIdentifier'
        related_operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationIdentifier'
        type:
          type: string
        status:
          type: string
        account:
          $ref: '#/components/schemas/AccountIdentifier'
        amount:
          $ref: '#/components/schemas/Amount'
        metadata:
          type: object
          additionalProperties: true
    PublicKey:
      type: object
      properties:
        hex_bytes:
          type: string
        curve_type:
          type: string
    SigningPayload:
      type: object
      properties:
        address:
          type: string
        account_identifier:
          $ref: '#/components/schemas/AccountIdentifier'
        hex_bytes:
          type: string
        signature_type:
          type: string
    SubNetworkIdentifier:
      type: object
      required:
        - network
      properties:
        network:
          type: string
        metadata:
          type: object
          additionalProperties: true
    OperationIdentifier:
      type: object
      properties:
        index:
          type: integer
          format: int64
        network_index:
          type: integer
          format: int64
    AccountIdentifier:
      type: object
      required:
        - address
      properties:
        address:
          type: string
        sub_account:
          $ref: '#/components/schemas/SubAccountIdentifier'
        metadata:
          type: object
          additionalProperties: true
    Amount:
      type: object
      properties:
        value:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        metadata:
          type: object
          additionalProperties: true
    SubAccountIdentifier:
      type: object
      required:
        - address
      properties:
        address:
          type: string
        metadata:
          type: object
          additionalProperties: true
    Currency:
      type: object
      properties:
        symbol:
          type: string
        decimals:
          type: integer
          format: int32
        metadata:
          type: object
          additionalProperties: true

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.