Solar panel payback in years, ROI, IRR and lifetime savings from system size and
Solar panel payback in years, ROI, IRR and lifetime savings from system size and cost, with rate escalation, degradation, incentives and maintenance.
Answeringour last check, 2026-10-20
1 of 1checks answered this week
513 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://saylorinnovations.com/api/solar/payback
| Category | Everything else |
|---|---|
| Provider host | saylorinnovations.com |
| Networks | eip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-20 | valid payment request | 402 | $0.01 | 513 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"cost_per_watt": "2.8",
"electricity_rate": "0.18",
"incentive_percent": "30",
"system_kw": "8"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"cost_per_watt": {
"description": "installed price per watt (or give system_cost)",
"type": "string"
},
"electricity_rate": {
"description": "retail price per kWh",
"type": "string"
},
"incentive_percent": {
"description": "optional tax credit or rebate percent",
"type": "string"
},
"system_kw": {
"description": "system size in kW",
"type": "string"
}
},
"required": [
"system_kw",
"cost_per_watt",
"electricity_rate"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"cost_per_kwh_produced": {
"description": "Net cost divided by lifetime production",
"type": "number"
},
"grid_rate_today": {
"description": "Electricity price used",
"type": [
"number",
"null"
]
},
"incentive_percent": {
"description": "Incentive applied, in percent",
"type": "number"
},
"irr_percent": {
"description": "Internal rate of return of the cash flows",
"type": [
"number",
"null"
]
},
"milestones": {
"description": "Year-by-year snapshots",
"items": {
"properties": {
"cumulative_net": {
"description": "Cumulative position after that year",
"type": [
"number",
"null"
]
},
"kwh": {
"description": "Production that year",
"type": [
"number",
"null"
]
},
"savings": {
"description": "Savings that year",
"type": [
"number",
"null"
]
},
"year": {
"description": "Year number",
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"type": "array"
},
"net_cost": {
"description": "Cost after incentives",
"type": "number"
},
"net_profit_over_period": {
"description": "Savings minus net cost over the horizon",
"type": "number"
},
"note": {
"description": "Plain-language caveat about how to read and use the result",
"type": "string"
},
"payback_years": {
"description": "Years until cumulative savings cover the net cost, null if not reached",
"type": [
"number",
"null"
]
},
"roi_percent": {
"description": "Net profit as a percent of net cost",
"type": "number"
},
"source": {
"description": "Where the data or formula comes from",
"type": "string"
},
"system_cost": {
"description": "Installed cost before incentives",
"type": "number"
},
"system_kw": {
"description": "System size",
"type": "number"
},
"total_savings_over_period": {
"description": "Savings summed over the horizon",
"type": "number"
},
"year_one_kwh": {
"description": "Production in the first year",
"type": "number"
},
"year_one_savings": {
"description": "Bill savings in the first year after maintenance",
"type": "number"
},
"years_modeled": {
"description": "Horizon in years",
"type": [
"number",
"null"
]
}
},
"required": [
"payback_years",
"net_profit_over_period"
],
"type": "object"
},
"type": {
"const": "json",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}