Build a reproducible chart view: Tropical and Lahiri Sidereal positions, Sidereal whole-si
Build a reproducible chart view: Tropical and Lahiri Sidereal positions, Sidereal whole-sign houses, mean nodes, geometric aspects and panchanga for one UTC chart. Includes limitations and a deterministic receipt. Public or synthetic inputs only. No interpretation, forecast or predictive certification; bodies are not stored.
60000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-13
updated
Provider
www.mahastrategies.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xec84c1cd6602bbe387bc8e6f0d3c062f2762de28",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "60000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"dataClass": "synthetic",
"instantUtc": "2000-01-01T12:00:00.000Z",
"latitudeDegrees": 0,
"longitudeDegrees": 0
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"boundaries": [
"Calculation and convention evidence only; no forecasting narrati…"
],
"conventions": {
"ayanamsa": "maha-lahiri-j2000-iau2006/1",
"birthBalance": "actual-nakshatra-stay-time",
"chartVersion": "natal-chart/0.3",
"elevationMeters": 0,
"ephemeris": "astronomy-engine-2.1.19",
"frames": [
"tropical",
"lahiri-sidereal"
],
"houses": "sidereal-whole-sign",
"inputTime": "UTC; caller resolves local time and DST",
"nodes": "mean",
"origin": "geocentric",
"panchangaVersion": "panchanga/0.1",
"timingVersion": "natal-timing/0.1",
"yearLengthDays": 365.2425
},
"inputDigest": "sha256:59fa3ef59fc2ca178cfe28137263a1b63cc23ebfdf0ef4a09d9f0c2b9…",
"offerId": "celestial-chart-evidence",
"receiptDigest": "sha256:2ce07694b98603e43f543a94edad35e11ddcdb89f400b877bd41af72b…",
"result": {
"chart": {
"ascendant": {
"dailyMotionDegrees": null,
"method": "Eastern ecliptic–horizon intersection; local apparent sidereal t…",
"motion": "not-applicable",
"nakshatra": {
"fraction": 0.0640776036155124,
"index": 27,
"name": "Revatī",
"pada": 1
},
"name": "Ascendant",
"sidereal": {
"degreeInSign": 17.521034714873508,
"longitude": 347.5210347148735,
"sign": "Pisces"
},
"tropical": {
"degreeInSign": 11.374004714873536,
"longitude": 11.374004714873536,
"sign": "Aries"
},
"wholeSignHouse": 1
},
"aspects": [
{
"exactAngle": 180,
"first": "Rahu",
"maximumOrbDegrees": 8,
"name": "opposition",
"orbDegrees": 0,
"second": "Ketu",
"separationDegrees": 180
}
],
"ayanamsa": {
"degrees": 23.85297,
"name": "lahiri"
},
"houseSystem": "whole-sign",
"houses": [
{
"number": 1,
"occupants": [],
"ruler": "Jupiter",
"rulerHouse": 2,
"rulerSign": "Aries",
"sign": "Pisces"
}
],
"instantUtc": "2000-01-01T12:00:00.000Z",
"methodology": [
"Tropical positions use the true equinox of date; Lahiri sidereal…"
],
"modernPoints": [
{
"dailyMotionDegrees": 0.05056855488919609,
"method": "Apparent geocentric ecliptic longitude of date from astronomy-en…",
"motion": "direct",
"nakshatra": {
"fraction": 0.8214850970370513,
"index": 22,
"name": "Śravaṇa",
"pada": 4
},
"name": "Uranus",
"sidereal": {
"degreeInSign": 20.953134627160694,
"longitude": 290.9531346271607,
"sign": "Capricorn"
},
"tropical": {
"degreeInSign": 14.806104627160721,
"longitude": 314.8061046271607,
"sign": "Aquarius"
},
"wholeSignHouse": 11
}
],
"nodalAxis": {
"ketu": {
"house": 11,
"sign": "Capricorn"
},
"method": "Ketu is defined as the point exactly opposite the mean ascending…",
"rahu": {
"house": 5,
"sign": "Cancer"
},
"separationDegrees": 180
},
"nodeModel": "mean-lunar-node",
"placements": [
{
"dailyMotionDegrees": 1.0194843834156018,
"method": "Apparent geocentric ecliptic longitude of date from astronomy-en…",
"motion": "direct",
"nakshatra": {
"fraction": 0.23867526206570489,
"index": 20,
"name": "Pūrva Āṣāḍhā",
"pada": 1
},
"name": "Sun",
"sidereal": {
"degreeInSign": 16.515670160876084,
"longitude": 256.5156701608761,
"sign": "Sagittarius"
},
"tropical": {
"degreeInSign": 10.368640160876112,
"longitude": 280.3686401608761,
"sign": "Capricorn"
},
"wholeSignHouse": 10
}
],
"version": "natal-chart/0.3"
},
"panchanga": {
"ayanamsa": {
"accuracyNote": "Lahiri (Chitrapakṣa), anchored at J2000.0 and advanced by IAU 20…",
"degrees": 23.85297,
"name": "lahiri"
},
"day": {
"sunrise": "2000-01-01T05:59:32.111Z",
"sunset": "2000-01-01T18:07:02.090Z"
},
"elongation": 302.955250966598,
"instant": "2000-01-01T12:00:00.000Z",
"karana": {
"fraction": 0.49254182776633115,
"index": 51,
"name": "Bava",
"nearBoundary": false
},
"moonLongitudeSidereal": 199.47092112747407,
"moonLongitudeTropical": 223.3238911274741,
"nakshatra": {
"fraction": 0.9603190845605543,
"index": 15,
"name": "Svātī",
"nearBoundary": false
},
"observer": {
"elevationMeters": 0,
"latitudeDegrees": 0,
"longitudeDegrees": 0
},
"rahuKala": {
"end": "2000-01-01T10:32:20.881Z",
"segment": 3,
"start": "2000-01-01T09:01:24.624Z"
},
"sunLongitudeSidereal": 256.5156701608761,
"sunLongitudeTropical": 280.3686401608761,
"tithi": {
"absoluteIndex": 26,
"fraction": 0.24627091388316558,
"index": 11,
"name": "Ekādaśī",
"nearBoundary": false,
"paksha": "kṛṣṇa"
},
"uncertainLimbs": [],
"vara": {
"index": 7,
"name": "Śanivāra",
"note": "The vāra is taken from the sunrise that opens the current civil …"
},
"version": "panchanga/0.1",
"yoga": {
"fraction": 0.19899434662626092,
"index": 8,
"name": "Dhṛti",
"nearBoundary": false
}
}
},
"version": "maha-celestial-calculations/0.1"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"dataClass": {
"enum": [
"public",
"synthetic"
],
"type": "string"
},
"instantUtc": {
"type": "string"
},
"latitudeDegrees": {
"maximum": 89.9,
"minimum": -89.9,
"type": "number"
},
"longitudeDegrees": {
"maximum": 180,
"minimum": -180,
"type": "number"
}
},
"required": [
"dataClass",
"instantUtc",
"latitudeDegrees",
"longitudeDegrees"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"boundaries": {
"type": "array"
},
"conventions": {
"type": "object"
},
"inputDigest": {
"type": "string"
},
"offerId": {
"const": "celestial-chart-evidence"
},
"receiptDigest": {
"type": "string"
},
"result": {
"type": "object"
},
"version": {
"const": "maha-celestial-calculations/0.1"
}
},
"required": [
"version",
"offerId",
"inputDigest",
"result",
"conventions",
"boundaries",
"receiptDigest"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"declaration-integrity": {
"canonicalResource": "https://www.mahastrategies.com/api/v1/calculations/chart",
"declarationDigest": "sha256:5fe801a4bfe75701165c83fb93bdd60057ed45625124ce25cac0d9049f406cb7",
"metadataVersion": "2026-08-10"
},
"maha-offer": {
"amount": "60000",
"asset": "USDC",
"assetDecimals": 6,
"canonicalResource": "https://www.mahastrategies.com/api/v1/calculations/chart",
"declarationInline": "compact",
"declarationUrl": "https://www.mahastrategies.com/api/discovery/x402-offers/celestial-chart-evidence",
"fullSourceTextStored": false,
"maxRequestBytes": 2048,
"method": "POST",
"network": "eip155:8453",
"offerId": "celestial-chart-evidence",
"payableInProduction": true,
"status": "available",
"verbatimExcerptsRetained": false
}
}Use it
curl
curl "https://www.mahastrategies.com/api/v1/calculations/chart" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://www.mahastrategies.com/api/v1/calculations/chart");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://www.mahastrategies.com/api/v1/calculations/chart")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/1417.json, and this resource appears in /discovery/resources and /discovery/search.