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

# Get aggregated information about staking for specific user



## OpenAPI

````yaml https://backend.swap.coffee/openapi get /v2/staking/{master_address}/{address}
openapi: 3.0.3
info:
  title: Swap Coffee API
  version: 1.0.0
servers:
  - url: https://backend.swap.coffee/
  - url: http://localhost:8080/
security:
  - {}
  - ApiKey: []
tags:
  - name: Entity
    description: Tokens, pools, DEXes, etc.
  - name: Routing
    description: >-
      Core functionality of the aggregation service. Build routes, get
      transactions, etc.
  - name: Strategies
    description: Limit orders, DCA, VCA, etc.
  - name: Yield
    description: >-
      Yield aggregator functionality. Provides and handles routes to pools with
      the best yield.
  - name: Referral
    description: Everything related to the referral program of swap.coffee.
  - name: Cashback
    description: Cashback programs conducted on swap.coffee.
  - name: Claim
    description: Claiming various rewards available on swap.coffee.
  - name: Contests
    description: Timed contests based on trading volumes for certain token-pairs.
  - name: Staking
    description: Responsible of managing staked funds, corresponding rewards, etc.
  - name: DEX
    description: Core functionality of the Coffee DEX service.
  - name: LiquidityProvisioning
    description: Everything related to liquidity provisioning in DEXes.
  - name: Boosts
    description: >-
      Functionality to support incentives and rewards for liquidity providers
      among all DEXes.
  - name: Profile
    description: Retrieve information about user profiles.
  - name: Partnership
    description: Various functionality for our partners.
  - name: Statistics
    description: Retrieve information about dex aggregation stats.
  - name: Ton
    description: Retrieve information about TON entities.
  - name: Auth
    description: Auth operations. For internal usage only.
paths:
  /v2/staking/{master_address}/{address}:
    get:
      tags:
        - Staking
      summary: Get aggregated information about staking for specific user
      operationId: getStakingUserInfo
      parameters:
        - $ref: '#/components/parameters/pathStakingMasterAddress'
        - $ref: '#/components/parameters/pathWalletAddress'
        - $ref: '#/components/parameters/headerXVerify'
      responses:
        '200':
          description: Aggregated staking info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiStakingUserInfo'
        default:
          $ref: '#/components/responses/ApiError'
components:
  parameters:
    pathStakingMasterAddress:
      in: path
      name: master_address
      required: true
      schema:
        type: string
        example: EQCMtrnKhK82Yw6xHrLm_rJLkMYxeYIilhdmn6BnVGZ1PnBM
    pathWalletAddress:
      in: path
      name: address
      required: true
      schema:
        type: string
        example: UQCNTO0Nh0Z7QNyRW1BLWfk08f2dAOw4izrx9sO6OUPg4DoV
    headerXVerify:
      in: header
      name: x-verify
      required: true
      description: TON proof for the given address
      schema:
        type: string
  schemas:
    ApiStakingUserInfo:
      type: object
      required:
        - total_points
        - locked_tokens
        - paid_rewards
        - positions
      properties:
        total_points:
          type: number
        locked_tokens:
          type: array
          items:
            $ref: '#/components/schemas/ApiStakingTokenInfo'
        paid_rewards:
          type: array
          items:
            $ref: '#/components/schemas/ApiStakingTokenInfo'
        positions:
          type: array
          items:
            $ref: '#/components/schemas/ApiStakingPositionInfo'
    ApiStakingTokenInfo:
      type: object
      required:
        - token_address
        - asset_raw
        - asset_usd
      properties:
        token_address:
          type: string
          description: Reward token address.
          example: EQDY6PMeMbQSz7dltNN4RRTIxyuBJX4dQESOy8cWR2tUgBxH
        asset_usd:
          type: number
          format: double
        asset_raw:
          type: number
    ApiStakingPositionInfo:
      type: object
      required:
        - id
        - locked_asset_address
        - locked_asset_amount_raw
        - locked_native
        - locked_usd
        - start_lock_seconds_utc
        - end_lock_seconds_utc
        - points_amount
        - period_id
        - available_periods
        - earned_rewards
      properties:
        id:
          type: integer
          format: int64
        locked_asset_address:
          type: string
          description: Staked token
          example: EQDY6PMeMbQSz7dltNN4RRTIxyuBJX4dQESOy8cWR2tUgBxH
        locked_asset_amount_raw:
          description: Staked token amount in raw
          type: number
        locked_native:
          description: Staked token volume converted to main staking token
          type: number
        locked_usd:
          type: number
          format: double
        start_lock_seconds_utc:
          type: integer
          format: int64
        end_lock_seconds_utc:
          type: integer
          format: int64
        points_amount:
          type: number
        period_id:
          type: integer
          format: int32
        available_periods:
          type: array
          items:
            $ref: '#/components/schemas/ApiStakingPositionPeriods'
        earned_rewards:
          type: array
          items:
            $ref: '#/components/schemas/ApiStakingTokenInfo'
    ApiStakingPositionPeriods:
      type: object
      required:
        - period_id
        - percentage
        - lock_duration
      properties:
        period_id:
          type: integer
          format: int32
          description: Period id, to be passed into protocol.
        percentage:
          type: integer
          format: int64
          description: How much additional points will be accrued.
        lock_duration:
          type: integer
          format: int64
          description: How much wait till position unlock.
  responses:
    ApiError:
      description: Some error during request processing
      content:
        application/json:
          schema:
            type: object
            required:
              - error
            properties:
              error:
                type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      name: X-Api-Key
      in: header

````