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

# Add Orderly key

> **Limit: 10 requests per 1 second per IP address**

`POST /v1/orderly_key`

Adds an orderly key to an account.

A main account's orderly key can manage its sub accounts.




## OpenAPI

````yaml orderly.openapi post /v1/orderly_key
openapi: 3.0.1
info:
  title: EVM
  description: ''
  version: 1.0.0
servers:
  - url: https://api.orderly.org
    description: Mainnet
  - url: https://testnet-api.orderly.org
    description: Testnet
security: []
tags:
  - name: public
  - name: private
paths:
  /v1/orderly_key:
    post:
      tags:
        - public
      summary: Add Orderly key
      description: |
        **Limit: 10 requests per 1 second per IP address**

        `POST /v1/orderly_key`

        Adds an orderly key to an account.

        A main account's orderly key can manage its sub accounts.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderlyKeyBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderlyKeyResponse'
      deprecated: false
components:
  schemas:
    OrderlyKeyBody:
      type: object
      required:
        - message
        - signature
        - userAddress
      properties:
        message:
          type: object
          required:
            - brokerId
            - chainId
            - expiration
            - orderlyKey
            - scope
            - timestamp
          properties:
            brokerId:
              type: string
              description: Builder ID
            chainId:
              type: integer
              description: >-
                Chain ID of registering chain (within those that are supported
                by the Network)
            chainType:
              type: string
              description: '`EVM` or `SOL`'
            orderlyKey:
              type: string
              description: orderly key to be added
            scope:
              type: string
              description: >-
                Valid scopes are `read`, `trading` and `asset`; multiple scopes
                can be sent by separating scopes with comma such as
                `read,trading`
            timestamp:
              type: number
              description: timestamp in UNIX milliseconds
            expiration:
              type: number
              description: >-
                Expiration time of the key in UNIX milliseconds. The maximum
                allowed expiration is 365 days from creation.
            tag:
              type: string
              description: An optional tag of string values.
            subAccountId:
              type: string
              description: Creates the orderly key for the specified sub account ID.
          description: >-
            Message object containing the message that is signed by the wallet
            owner
        signature:
          type: string
          description: The signature generated by signing the message object via EIP-712
        userAddress:
          type: string
          description: The address of the wallet signing the message object via EIP-712
    OrderlyKeyResponse:
      allOf:
        - $ref: '#/components/schemas/BasicResponse'
        - type: object
          required:
            - data
          properties:
            data:
              type: object
              required:
                - orderly_key
              properties:
                id:
                  description: Internal ID of the created orderly key record.
                  type: integer
                  example: 123
                orderly_key:
                  description: orderly key added to the account.
                  type: string
                  example: ed25519:FRXntsPJBCy6dzKv9WPw4eYSw3rKU9Npz3T6UmvvJc9Z
    BasicResponse:
      required:
        - success
      type: object
      properties:
        success:
          description: Indicates whether the request was successful.
          type: boolean
          example: true
        timestamp:
          description: Server timestamp in milliseconds.
          type: integer
          example: 1702989203989

````