> ## 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.

# Derive

> Returns an AccountIdentifier for a given public key in the ICRC-1 ledger context.



## OpenAPI

````yaml nodeapi/openapi/icrc-openapiv3-vc3.json POST /construction/derive
openapi: 3.0.3
info:
  title: ICRC-1 Rosetta API
  description: >-
    OpenAPI v3 specification for ICRC-1 Rosetta endpoints on the Internet
    Computer.
  version: 1.0.0
servers:
  - url: https://icrc-mainnet.icp.validationcloud.io/v1/<YOUR_API_KEY_HERE>
security: []
paths:
  /construction/derive:
    post:
      tags:
        - Construction
      summary: Derive account address from public key
      description: >-
        Returns an AccountIdentifier for a given public key in the ICRC-1 ledger
        context.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstructionDeriveRequest'
      responses:
        '200':
          description: Account identifier derived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstructionDeriveResponse'
        '500':
          description: Internal server error
components:
  schemas:
    ConstructionDeriveRequest:
      type: object
      properties:
        network_identifier:
          $ref: '#/components/schemas/NetworkIdentifier'
        public_key:
          $ref: '#/components/schemas/PublicKey'
        metadata:
          type: object
          additionalProperties: true
    ConstructionDeriveResponse:
      type: object
      properties:
        address:
          type: string
        account_identifier:
          $ref: '#/components/schemas/AccountIdentifier'
        metadata:
          type: object
          additionalProperties: true
    NetworkIdentifier:
      type: object
      required:
        - blockchain
        - network
      properties:
        blockchain:
          type: string
          example: Internet Computer
        network:
          type: string
          example: mxzaz-hqaaa-aaaar-qaada-cai
        sub_network_identifier:
          $ref: '#/components/schemas/SubNetworkIdentifier'
    PublicKey:
      type: object
      properties:
        hex_bytes:
          type: string
        curve_type:
          type: string
    AccountIdentifier:
      type: object
      required:
        - address
      properties:
        address:
          type: string
          description: For ICRC-1, this may be a principal or derived hex string.
        sub_account:
          $ref: '#/components/schemas/SubAccountIdentifier'
        metadata:
          type: object
          additionalProperties: true
    SubNetworkIdentifier:
      type: object
      required:
        - network
      properties:
        network:
          type: string
        metadata:
          type: object
          additionalProperties: true
    SubAccountIdentifier:
      type: object
      required:
        - address
      properties:
        address:
          type: string
          description: Typically a 32-byte hex-encoded subaccount in ICRC-1.
        metadata:
          type: object
          additionalProperties: true

````

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