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



## OpenAPI

````yaml nodeapi/openapi/icp-openapiv3-vc2.json POST /construction/derive
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/derive:
    post:
      tags:
        - Construction
      summary: Derive account address from public key
      description: Returns an AccountIdentifier for a given public key.
      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: '00000000000000020101'
        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
        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
        metadata:
          type: object
          additionalProperties: true

````

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