---
title: "Get signal provider earnings breakdown"
method: GET
path: "/rest/api/v1/signals/{signalProviderId}/earnings"
tags: ["Signal API"]
---

# Get signal provider earnings breakdown

`GET /rest/api/v1/signals/{signalProviderId}/earnings`

## Request

- Base URL: `https://api.metacopier.io`
- URL: `https://api.metacopier.io/rest/api/v1/signals/{signalProviderId}/earnings`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/metacopier/apis/metacopier-api/docs/rest/api/v1/signals/:signalProviderId/earnings/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns earnings breakdown for a signal provider including gross/net amounts, per-follower charge details, and monthly breakdown. Includes PAID, OPEN, and VOID invoices. If month and year are not provided, returns all-time earnings.

## Path parameters

- `signalProviderId` string, uuid, required

## Query parameters

- `month` integer
- `year` integer

## Response `200`

OK

- SignalProviderEarningsDTO: Signal provider earnings breakdown
  - `billingModel` string: Billing model: MONTHLY_PROFIT or HIGH_WATERMARK
  - `currency` string: Currency of all monetary amounts
  - `monthlyBreakdown` MonthlyEarningsDTO[]: Per-month earnings breakdown with individual follower charge details
    - `coveredFollowerCosts` number: Costs the signal provider covers for hosting follower accounts (only when coverFollowerCosts is enabled)
    - `followerCharges` FollowerChargeDetailDTO[]: Individual charge details per follower for this month
      - `billingModel` string: Billing model applied: MONTHLY_PROFIT or HIGH_WATERMARK
      - `currentCumulativeProfit` number: HIGH_WATERMARK only: current cumulative profit level from subscription start
      - `followerAccountId` string, uuid: UUID of the follower's trading account
      - `followerEmail` string: Email of the follower's project owner (obfuscated for public providers, full for allowed customers)
      - `followerProfit` number: Profit generated by this follower's account during the billing period
      - `invoiceId` integer: Internal invoice ID (integer)
      - `invoiceNumber` string: Public invoice number
      - `invoiceStatus` string: Invoice status: PAID, OPEN, or VOID
      - `monthlySubscriptionFee` number: Monthly subscription fee charged to this follower for the period
      - `previousHighWatermark` number: HIGH_WATERMARK only: previous cumulative profit peak before this billing period
      - `profitSharingAmount` number: Calculated profit sharing charge: followerProfit × profitSharingPercentage / 100
      - `profitSharingPercentage` number: Profit sharing percentage applied to this follower's profit
      - `totalAmount` number: Total charge for this follower: monthlySubscriptionFee + profitSharingAmount
    - `month` integer: Month number (1-12)
    - `totalCreditedNet` number: Net amount credited to the provider's balance this month
    - `totalEarnedGross` number: Total gross amount from all follower charges this month
    - `totalEarnedGrossPaid` number: Gross amount from PAID invoices this month
    - `totalEarnedGrossUnpaid` number: Gross amount from OPEN invoices this month
    - `totalEarnedGrossVoid` number: Gross amount from VOID (cancelled) invoices this month
    - `year` integer: Year (e.g. 2026)
  - `monthlySubscriptionFee` number: Configured monthly subscription fee charged to each follower
  - `profitSharingFee` number: Configured profit sharing percentage charged to each follower
  - `signalProviderId` string, uuid: UUID of the signal provider feature
  - `signalProviderName` string: Display name of the signal provider
  - `summary` EarningsSummaryDTO: Aggregated earnings summary across all billing periods
    - `activeFollowers` integer: Number of currently active (non-deleted) follower subscriptions
    - `metaCopierFeePercent` integer: Percentage MetaCopier retains as platform fee (e.g. 30 means provider receives 70%)
    - `totalCreditedNet` number: Net amount actually credited to the provider's project balance after MetaCopier fee deduction
    - `totalEarnedGross` number: Total gross amount from all follower charges across all invoice statuses, before MetaCopier fee deduction
    - `totalEarnedGrossPaid` number: Gross amount from PAID invoices only
    - `totalEarnedGrossUnpaid` number: Gross amount from OPEN (unpaid) invoices only
    - `totalEarnedGrossVoid` number: Gross amount from VOID (cancelled) invoices only
    - `totalFollowers` integer: Total number of unique follower accounts ever seen, including deleted ones

## Changes

- **2026-08-10** `5c1371d2c0b2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/metacopier/apis/metacopier-api/changes/rest/api/v1/signals/:signalProviderId/earnings/get.md)

---

[API](https://skmtc.dev/metacopier/apis/metacopier-api.md) - [All operations](https://skmtc.dev/metacopier/apis/metacopier-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metacopier/apis/metacopier-api/revisions/cbf3e7810fc2?raw)
