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

# Aggregated Credit Report

> Get an aggregated credit report for multiple Ethereum addresses

## Overview

Generates a single aggregated credit report combining metrics from multiple Ethereum addresses. All numeric values are summed, attestations are merged, and transaction timestamps span the earliest to most recent across all wallets.

<Info>
  This endpoint is ideal for assessing the combined creditworthiness of multi-signature wallets, joint accounts, or organizational treasuries.
</Info>

## Query Parameters

<ParamField query="address" type="string" required>
  Comma-separated list of Ethereum addresses or ENS names (e.g., `address=0x123...,0x456...,vitalik.eth`)
</ParamField>

## Response

<ResponseField name="report.address" type="array">
  Array of all successfully analyzed addresses
</ResponseField>

<ResponseField name="report.timestamp" type="string">
  ISO 8601 timestamp when the report was generated
</ResponseField>

<ResponseField name="report.first_transaction" type="object">
  Earliest transaction across all addresses
</ResponseField>

<ResponseField name="report.last_transaction" type="object">
  Most recent transaction across all addresses
</ResponseField>

<ResponseField name="report.summary" type="object">
  Aggregated summary metrics (summed across all addresses)
</ResponseField>

<ResponseField name="report.summary.total_asset_usd" type="number">
  Combined total assets in USD
</ResponseField>

<ResponseField name="report.summary.total_collateral_usd" type="number">
  Combined total collateral in USD
</ResponseField>

<ResponseField name="report.summary.total_debt_usd" type="number">
  Combined total debt in USD
</ResponseField>

<ResponseField name="report.summary.count_transactions" type="integer">
  Total transaction count across all addresses
</ResponseField>

<ResponseField name="report.summary.count_identity_attestations" type="integer">
  Count of unique attestations across all addresses
</ResponseField>

<ResponseField name="report.summary.list_identity_attestations" type="array">
  Merged list of unique identity attestations
</ResponseField>

## Aggregation Method

| Metric Type       | Aggregation           |
| ----------------- | --------------------- |
| USD Values        | Summed                |
| Counts            | Summed                |
| Attestations      | Merged (deduplicated) |
| First Transaction | Earliest timestamp    |
| Last Transaction  | Latest timestamp      |

## Use Cases

* **Multi-signature Wallets**: Complete financial picture of all signers
* **Organization Assessment**: Combined view of treasury wallets
* **Joint Account Analysis**: Aggregate credit for shared holdings
* **Family Portfolios**: Combined net worth and credit metrics

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.credprotocol.com/api/v2/report/?address=vitalik.eth,0x742d35Cc6634C0532925a3b844Bc9e7595f0Ab17" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const addresses = ['vitalik.eth', '0x742d35Cc6634C0532925a3b844Bc9e7595f0Ab17'];

  const response = await fetch(
    `https://api.credprotocol.com/api/v2/report/?address=${addresses.join(',')}`,
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  const data = await response.json();
  console.log(`Combined assets: $${data.report.summary.total_asset_usd}`);
  ```

  ```python Python theme={null}
  import requests

  addresses = ['vitalik.eth', '0x742d35Cc6634C0532925a3b844Bc9e7595f0Ab17']

  response = requests.get(
      'https://api.credprotocol.com/api/v2/report/',
      params={'address': ','.join(addresses)},
      headers={'Authorization': 'Bearer YOUR_API_KEY'}
  )

  data = response.json()
  print(f"Combined assets: ${data['report']['summary']['total_asset_usd']}")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "report": {
      "address": [
        "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
        "0x742d35Cc6634C0532925a3b844Bc9e7595f0Ab17"
      ],
      "timestamp": "2024-01-15T10:30:00Z",
      "first_transaction": {
        "timestamp": 1438918251,
        "block_number": 46147,
        "chain_id": 1
      },
      "last_transaction": {
        "timestamp": 1710255000,
        "block_number": 19123456,
        "chain_id": 1
      },
      "summary": {
        "total_asset_usd": 250000.00,
        "total_collateral_usd": 100000.00,
        "total_debt_usd": 30000.00,
        "count_transactions": 4820,
        "count_transfers": 2460,
        "count_balances": 48,
        "count_identity_attestations": 6,
        "list_identity_attestations": [
          "ENS Name",
          "Gitcoin Passport",
          "POAP - ETHDenver 2024"
        ]
      }
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "No valid addresses provided",
    "status_code": 400
  }
  ```
</ResponseExample>

## Performance

* **Response Time**: Typically 5-15 seconds (varies with address count)
* **Caching**: Individual address reports are cached for 5 minutes
* **Parallelization**: Reports are generated in parallel for optimal performance
