> ## 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.

# Enhanced Credit Report

> Get an enhanced credit report with off-chain data integration

## Overview

Generates a comprehensive credit report that combines on-chain blockchain data with additional off-chain metrics you provide. This allows for more accurate credit assessments by including verified external data sources like centralized exchange balances or traditional financial data.

<Info>
  Off-chain data is added to the on-chain totals, providing a complete financial picture across both DeFi and traditional finance.
</Info>

## Path Parameters

<ParamField path="address" type="string" required>
  Ethereum address or ENS name (e.g., `vitalik.eth` or `0x742d35Cc6634C0532925a3b844Bc454e4438f44e`)
</ParamField>

## Request Body

<ParamField body="name" type="string" required>
  Source name for the additional data (e.g., "Coinbase Account", "Bank of America", "Binance")
</ParamField>

<ParamField body="total_asset_usd" type="number">
  Total value of off-chain assets in USD
</ParamField>

<ParamField body="total_collateral_usd" type="number">
  Total collateral value from off-chain sources in USD
</ParamField>

<ParamField body="total_debt_usd" type="number">
  Total debt/liabilities from off-chain sources in USD
</ParamField>

<ParamField body="count_transactions" type="integer">
  Number of verified off-chain transactions
</ParamField>

<ParamField body="count_transfers" type="integer">
  Number of verified off-chain transfers
</ParamField>

## Response

The response follows the same structure as the standard credit report, with an additional `additional` field containing the off-chain data source information.

<ResponseField name="report" type="object">
  The complete credit report object
</ResponseField>

<ResponseField name="report.address" type="string">
  The resolved Ethereum address (checksummed)
</ResponseField>

<ResponseField name="report.summary" type="object">
  Combined summary metrics (on-chain + off-chain totals)
</ResponseField>

<ResponseField name="report.additional" type="object">
  Off-chain data source information
</ResponseField>

<ResponseField name="report.additional.source.name" type="string">
  Name of the off-chain data source
</ResponseField>

<ResponseField name="report.additional.source.data" type="object">
  The off-chain metrics that were added
</ResponseField>

<ResponseField name="report.chains" type="array">
  Per-chain breakdown of on-chain data
</ResponseField>

## Use Cases

<AccordionGroup>
  <Accordion title="CEX Balance Integration">
    Include balances from centralized exchanges like Coinbase, Binance, or Kraken to show complete crypto holdings beyond on-chain wallets.
  </Accordion>

  <Accordion title="Traditional Finance Data">
    Incorporate verified bank account balances or traditional credit data for a hybrid DeFi/TradFi credit assessment.
  </Accordion>

  <Accordion title="Enhanced Underwriting">
    Lenders can request users provide off-chain data for more accurate creditworthiness evaluation and better loan terms.
  </Accordion>

  <Accordion title="Portfolio Completeness">
    Show the full financial picture when users have assets across multiple platforms and chains.
  </Accordion>
</AccordionGroup>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.credprotocol.com/api/v2/report/address/vitalik.eth" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Coinbase Account",
      "total_asset_usd": 75000,
      "total_collateral_usd": 25000,
      "count_transactions": 450
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.credprotocol.com/api/v2/report/address/vitalik.eth', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'Coinbase Account',
      total_asset_usd: 75000,
      total_collateral_usd: 25000,
      count_transactions: 450
    })
  });

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

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

  response = requests.post(
      'https://api.credprotocol.com/api/v2/report/address/vitalik.eth',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      json={
          'name': 'Coinbase Account',
          'total_asset_usd': 75000,
          'total_collateral_usd': 25000,
          'count_transactions': 450
      }
  )

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

<ResponseExample>
  ```json 200 theme={null}
  {
    "report": {
      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
      "timestamp": "2024-01-15T10:30:00Z",
      "first_transaction": {
        "timestamp": 1438918251,
        "block_number": 46147,
        "chain_id": 1
      },
      "summary": {
        "total_asset_usd": 200000.50,
        "total_collateral_usd": 75000.00,
        "total_debt_usd": 15000.00,
        "count_transactions": 2906,
        "count_transfers": 1234
      },
      "additional": {
        "source": {
          "name": "Coinbase Account",
          "data": {
            "total_asset_usd": 75000,
            "total_collateral_usd": 25000,
            "count_transactions": 450
          }
        }
      },
      "chains": []
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "Additional data must provide a 'name' field"
  }
  ```
</ResponseExample>

## Performance

* **Response Time**: Typically 4-12 seconds
* **Caching**: Not cached - recalculated on each request to include fresh off-chain data
* **Validation**: All numeric values must be non-negative
