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

# Get reward earnings summary

> Get a wallet's base-token earnings in one yield over preset windows: the last 24 hours, 7, 30 and 365 days from UTC midnight, and all time.

Every window is measured back from the request and ends at the last aggregated hour. `last24H` is the 24 hourly rows ending at the hour that contains the request, clipped to the last aggregated hour. `last7D`, `last30D` and `lastYear` start at midnight UTC 7, 30 and 365 days before the request, so `last7D` covers seven full UTC days plus today so far, and `lastYear` is 365 days rather than a calendar year. `total` is all earnings through the last aggregated hour. Amounts are signed decimal strings, with `amountRaw` in base units.

The same coverage rules apply as for [reward earnings](/api-reference/YieldsController_getYieldRewardEarnings): earnings are recorded only for wallets that have already used Yield.xyz on that network, from that point on, a yield without reward support returns `404`, and `feeConfigurationId` selects one of your allocator vaults.


## OpenAPI

````yaml openapi.json GET /v1/yields/{yieldId}/rewards/summary
openapi: 3.0.0
info:
  title: 'Yield API: Earn'
  description: API Documentation
  version: '1.0'
  contact: {}
servers:
  - url: https://api.yield.xyz
    description: Production
security: []
tags:
  - name: Discovery
    description: >-
      Browse and discover yield opportunities, networks, and providers, plus
      yield-level risk, reward rate, and TVL data
  - name: Portfolio
    description: User-specific balances and KYC status
  - name: Actions
    description: Generate transactions to enter, exit, and manage yields
externalDocs:
  description: For more information
  url: https://docs.yield.xyz
paths:
  /v1/yields/{yieldId}/rewards/summary:
    get:
      tags:
        - Portfolio
      summary: Get fixed-window reward earnings
      description: >-
        Returns base-token earnings for a wallet over fixed windows. Every
        window is measured from the request and ends at the last aggregated
        hour. last24H is the 24 hourly rows ending at the hour that contains the
        request, clipped to the last aggregated hour. last7D, last30D, and
        lastYear start at midnight UTC 7, 30, and 365 days before the request,
        so last7D is seven full UTC days plus the partial day up to the last
        aggregated hour, and lastYear is 365 days rather than a calendar year.
        total is all earnings through the last aggregated hour.
      operationId: YieldsController_getYieldRewardsSummary_v1
      parameters:
        - name: yieldId
          required: true
          in: path
          description: The unique identifier of the yield
          schema:
            type: string
            example: ethereum-usdc-morpho-vault
        - name: address
          required: true
          in: query
          description: Wallet address to fetch earnings for
          schema:
            type: string
            example: '0x742d35cc6634c0532925a3b844bc454e4438f44e'
        - name: feeConfigurationId
          required: false
          in: query
          description: >-
            Fee configuration ID used to resolve the partner allocator vault. An
            id that is not one of the project fee configurations is rejected.
          schema:
            example: 66f299cd-aaaa-bbbb-cccc-d1f26e3a02db
            type: string
      responses:
        '200':
          description: Fixed-window earnings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YieldRewardsSummaryResponseDto'
        '400':
          description: Invalid address or fee configuration
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid API key
                  error:
                    type: string
                    example: Unauthorized
                  statusCode:
                    type: number
                    example: 401
        '404':
          description: Yield not found, or rewards are not supported for this yield
        '429':
          description: Rate limit exceeded
          headers:
            x-ratelimit-limit:
              description: Request limit per window
              schema:
                type: string
            x-ratelimit-remaining:
              description: Remaining requests (will be 0)
              schema:
                type: string
            x-ratelimit-reset:
              description: Unix timestamp when window resets
              schema:
                type: string
            retry-after:
              description: Seconds to wait before retrying
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Rate limit exceeded
                  error:
                    type: string
                    example: Too Many Requests
                  statusCode:
                    type: number
                    example: 429
                  retryAfter:
                    type: number
                    example: 30
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Internal server error
                  error:
                    type: string
                    example: Internal Server Error
                  statusCode:
                    type: number
                    example: 500
      security:
        - ApiKey: []
components:
  schemas:
    YieldRewardsSummaryResponseDto:
      type: object
      properties:
        yieldId:
          type: string
          example: ethereum-usdc-morpho-vault
        address:
          type: string
          example: '0x742d35cc6634c0532925a3b844bc454e4438f44e'
        token:
          $ref: '#/components/schemas/YieldRewardTokenDto'
        last24H:
          description: >-
            24 hourly earnings rows ending at the hour that contains the
            request, clipped to the last aggregated hour. The hour that started
            exactly 24 hours earlier is excluded. Zero when the last aggregated
            hour is older than that window.
          allOf:
            - $ref: '#/components/schemas/YieldRewardAmountDto'
        last7D:
          description: >-
            Earnings from midnight UTC 7 days before the request through the
            last aggregated hour. That is seven full UTC days plus the partial
            day up to the last aggregated hour, not a rolling 168 hours. Zero
            when the last aggregated hour is older than the window start.
          allOf:
            - $ref: '#/components/schemas/YieldRewardAmountDto'
        last30D:
          description: >-
            Earnings from midnight UTC 30 days before the request through the
            last aggregated hour. Same calendar rule as last7D, not a rolling
            720 hours.
          allOf:
            - $ref: '#/components/schemas/YieldRewardAmountDto'
        lastYear:
          description: >-
            Earnings from midnight UTC 365 days before the request through the
            last aggregated hour. This is a fixed 365 days, not a calendar year,
            so a leap day is not added.
          allOf:
            - $ref: '#/components/schemas/YieldRewardAmountDto'
        total:
          description: All earnings through the last aggregated hour.
          allOf:
            - $ref: '#/components/schemas/YieldRewardAmountDto'
      required:
        - yieldId
        - address
        - token
        - last24H
        - last7D
        - last30D
        - lastYear
        - total
    YieldRewardTokenDto:
      type: object
      properties:
        symbol:
          type: string
          description: Token symbol
          example: USDC
        decimals:
          type: number
          description: Token decimal places
          example: 6
        network:
          type: string
          description: Token network
          enum:
            - ethereum
            - ethereum-goerli
            - ethereum-holesky
            - ethereum-sepolia
            - ethereum-hoodi
            - arbitrum
            - base
            - base-sepolia
            - gnosis
            - optimism
            - polygon
            - polygon-amoy
            - starknet
            - zksync
            - linea
            - unichain
            - plume
            - monad-testnet
            - monad
            - robinhood
            - robinhood-testnet
            - arc-testnet
            - arc
            - avalanche-c
            - avalanche-c-atomic
            - avalanche-p
            - binance
            - celo
            - fantom
            - harmony
            - moonriver
            - okc
            - viction
            - core
            - sonic
            - plasma
            - katana
            - hyperevm
            - tempo
            - pharos
            - xlayer
            - agoric
            - akash
            - axelar
            - band-protocol
            - bitsong
            - canto
            - chihuahua
            - comdex
            - coreum
            - cosmos
            - crescent
            - cronos
            - cudos
            - desmos
            - dydx
            - evmos
            - fetch-ai
            - gravity-bridge
            - injective
            - irisnet
            - juno
            - kava
            - ki-network
            - mars-protocol
            - nym
            - okex-chain
            - onomy
            - osmosis
            - persistence
            - quicksilver
            - regen
            - secret
            - sentinel
            - sommelier
            - stafi
            - stargaze
            - stride
            - teritori
            - tgrade
            - umee
            - sei
            - mantra
            - celestia
            - saga
            - zetachain
            - dymension
            - humansai
            - neutron
            - polkadot
            - kusama
            - westend
            - bittensor
            - aptos
            - binancebeacon
            - cardano
            - near
            - solana
            - solana-devnet
            - stellar
            - stellar-testnet
            - sui
            - tezos
            - tron
            - ton
            - ton-testnet
            - hyperliquid
          example: ethereum
        address:
          type: string
          description: Token address
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
      required:
        - symbol
        - decimals
        - network
    YieldRewardAmountDto:
      type: object
      properties:
        amount:
          type: string
          description: Signed earnings in this window, as a decimal string
          example: '0.21'
        amountRaw:
          type: string
          description: Signed earnings in this window, in base units
          example: '210000'
      required:
        - amount
        - amountRaw
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key

````

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