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

# Off Chain Claim

> Collect wallet address and CEX Account Id for off-chain claiming allocation. This is used for pre-TGE to claim through CEX.



## OpenAPI

````yaml /apis/portal/openapi.json post /api/{portalId}/allocations/off-chain-claim
openapi: 3.0.2
info:
  title: Magna Portal API
  version: 1.0.0
servers: []
security: []
tags:
  - name: Auth
    description: Authentication related endpoints
  - name: Token
    description: Token claiming
  - name: Config
    description: Portal configuration
  - name: Misc
    description: Miscellaneous operational endpoints
  - name: Staking
    description: Staking pool operations
  - name: Compliance
    description: Wallet compliance operations
paths:
  /api/{portalId}/allocations/off-chain-claim:
    post:
      tags:
        - Token
      summary: Off Chain Claim
      description: >-
        Collect wallet address and CEX Account Id for off-chain claiming
        allocation. This is used for pre-TGE to claim through CEX.
      parameters:
        - name: portalId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: portal id
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                cexId:
                  type: string
                  format: uuid
                  description: cex id
                cexAccountId:
                  type: string
                  description: cex account id
                cexWalletAddress:
                  type: string
                  description: cex wallet addres
                walletAddress:
                  type: string
                  description: user wallet addres
                distributionIds:
                  type: array
                  items:
                    type: string
                  minItems: 1
                singedProof:
                  type: object
                  properties:
                    message:
                      type: string
                      description: message
                    signature:
                      type: string
                      description: signed message
                  required:
                    - message
                    - signature
                  description: signed proof with for verification
              required:
                - cexId
                - cexAccountId
                - cexWalletAddress
                - walletAddress
                - distributionIds
              example:
                value:
                  walletAddress: CTVpqm46roxeyBLhp91eWrBVANAJMHG7f8a2AMNS6VkY
                  cexId: 57703f42-1d51-41b5-9720-9d6a5ab2c651
                  cexAccountId: 123-456-789
                  cexWalletAddress: '0xB8aC8Fdbd02f7f1C8d9f3EF23C3E9F53768Dc450'
                  signedProof:
                    message: '{}'
                    signature: >-
                      AS8TFuCAxBDePII5lTVMRFguyF2AqSyI5PBZjNYJLuWoVBG7aaq46QHHlQNamAw8VyxCDwbtv9jXI0IPgW7TCwkBAAMG5vXmqmwRqvfHYcS+ebPuAnB/wE0KjyR0VvnuINs3gJ5JqdqGW/mSy+aP+kmqobh5OxMDrD4B3gsZUdwvfygCyJxuNgcfEH9/LGqnusymkSRsyq16lbRm8uLtaLABK9qAAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAAAGgcTOR+IjaLixVV7Ih68JLvx++7Zso/Uvv2jUrJy3qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ0v+16Lw4tg6V2PEQYuYz3OWsB1yf5p8tx5INsnPdcDAwAJA4rVAQAAAAAAAwAFAvLdAQAEBQECAAAF+AYw+k6o0OLa0wAAaQMAAAEBBg1/nC/sxJFVpgnbRGhYotrcjcBMFDKF8GX2Qp0o90ExUae9au3915vsCBiIRhbFcVaaJFtW9W2aK4X2yV3BjGTyZ+SO6+bD9ong/mm4mW0POcpMA5Io9nXExUPcBCCxaay9nCUaWTZGTD9TPr39zH0Bq5CoFBcR4uyGSZDdXe8sVu7J9koV9hDnZupuJA68a3GktivUtANq05bR1QDZM9u6qndFv6YyepsfCKJsEJpOhkhahbDfH904HhUMT0YJfFGd7zZ5RWxoqGLmBllBd/+B/It/Xk7qLEaLOaQnbrq9+Sxl38jUW9ApL74Ba5AoWqi+xc+U2xLDIdJV+Mkipy3IlvtwEHOvlUTKP19vpl5xdUZrpJuy+d/7G7kWqZxLI0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpjJclj04kifG7PRApFI4NgwtaE5na/xCEBI572Nvp+FkGp9UXGSxcUSGMyUw9SvF/WNruCJuh/UTj29mKAAAAAAIHCgECCAADBAkKCwyVAYxGAWN7JEKh6vY9K7dk5+nHwlTjwIooTQmWeWW/EHLC7kzHGZPz5S1/nC/sxJFVpgnbRGhYotrcjcBMFDKF8GX2Qp0o90ExUZb7cBBzr5VEyj9fb6ZecXVGa6Sbsvnf+xu5FqmcSyNIgNdsLNADSgAAAAAAAAAAAAEBAAAA7sn2ShX2EOdm6m4kDrxrcaS2K9S0A2rTltHVANkz27ogAAAAZTUzNjJlNDkzYjQ5YjFhNGY4NzM3MTAyYmI0N2YzODkAAAAAAAAAAAoAAABgflFmAAAAAOBcemYAAAAA4OmhZgAAAABgyMpmAAAAAOCm82YAAAAA4DMbZwAAAABgEkRnAAAAAGCfa2cAAAAA4H2UZwAAAABgXL1nAAAAAAoAAADASHEEyGYHAMBIcQTIZgcAwEhxBMhmBwDASHEEyGYHAMBIcQTIZgcAwEhxBMhmBwDASHEEyGYHAMBIcQTIZgcAwEhxBMhmBwDASHEEyGYHACAAAABlNTM2MmU0OTNiNDliMWE0Zjg3MzcxMDJiYjQ3ZjM4OQcMAQIFBgADBAgJCgsMEAAGRgpwSjBk6YDXbCzQA0oAAAA=
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  processed:
                    type: boolean
                    description: indicator if the submission is processed or not
                required:
                  - processed
                description: Ok
                example:
                  processed: true
        '400':
          description: Client Error
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                            message:
                              type: string
                          required:
                            - path
                            - message
                    required:
                      - errors
                  - type: object
                    properties:
                      error:
                        oneOf:
                          - type: string
                            enum:
                              - DISTRIBUTION_NOT_FOUND
                              - HUMANITY_CHECK_INCOMPLETE
                              - DISTRIBUTION_NOT_STARTED
                              - STAKING_POOL_NOT_FOUND
                              - STAKE_NOT_FOUND
                          - type: string
                    required:
                      - error
                description: Client Error
                example:
                  errors:
                    - path: query.wallet
                      message: Required
        '403':
          description: Forbidden Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: error message
                required:
                  - error
                description: Forbidden Error
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: error message
                required:
                  - error
                description: Server Error
                example:
                  error: internal server error

````