Calculator API
Illustrative fund math, no auth required
Seven stateless POST endpoints — the same deterministic engines behind the free tools at /tools.
Fund Health Check
A free, 60-second operational health score for your crypto fund.
| Name | Type | Required | Description |
|---|---|---|---|
| aumUsd | number | Optional | — |
| positionsCsv | string | Optional | — |
| mgmtFeePct | number | Optional | — |
| perfFeePct | number | Optional | — |
| hasHwm | boolean | Optional | — |
| hurdlePct | unknown | Optional | — |
| navFrequency | "daily" | "weekly" | "monthly" | "quarterly" | Optional | — |
| reconFrequency | "daily" | "weekly" | "monthly" | "rarely" | Optional | — |
| lpReportingFrequency | "monthly" | "quarterly" | "adhoc" | Optional | — |
| backOfficeHeadcount | number | Optional | — |
| hasFundAdmin | boolean | Optional | — |
| hasAnnualAudit | boolean | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/fund-health-check" \
-H "Content-Type: application/json" \
-d '{"aumUsd":25000000,"positionsCsv":"","mgmtFeePct":2,"perfFeePct":20,"hasHwm":true,"hurdlePct":null,"navFrequency":"monthly","reconFrequency":"monthly","lpReportingFrequency":"quarterly","backOfficeHeadcount":1,"hasFundAdmin":true,"hasAnnualAudit":false}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/fund-health-check", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"aumUsd": 25000000,
"positionsCsv": "",
"mgmtFeePct": 2,
"perfFeePct": 20,
"hasHwm": true,
"hurdlePct": null,
"navFrequency": "monthly",
"reconFrequency": "monthly",
"lpReportingFrequency": "quarterly",
"backOfficeHeadcount": 1,
"hasFundAdmin": true,
"hasAnnualAudit": false
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/fund-health-check
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/fund-health-check",
json={"aumUsd": 25000000, "positionsCsv": "", "mgmtFeePct": 2, "perfFeePct": 20, "hasHwm": True, "hurdlePct": None, "navFrequency": "monthly", "reconFrequency": "monthly", "lpReportingFrequency": "quarterly", "backOfficeHeadcount": 1, "hasFundAdmin": True, "hasAnnualAudit": False},
)
data = res.json()Object(12)
Exposure Analysis
Paste your positions, see gross, net, and concentration exposure instantly.
| Name | Type | Required | Description |
|---|---|---|---|
| positionsCsv | string | Optional | — |
| navUsd | unknown | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/exposure-analysis" \
-H "Content-Type: application/json" \
-d '{"positionsCsv":"Asset,Value,Venue,Class\nBTC,450000,Coinbase,crypto\nETH,280000,Coinbase,crypto\nSOL,95000,Binance,crypto\nAVAX,60000,Binance,crypto\nLINK,40000,Kraken,crypto\nMATIC,-55000,Binance,crypto\nUSDC,180000,Coinbase,stablecoin\nUSDT,45000,Kraken,stablecoin","navUsd":null}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/exposure-analysis", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"positionsCsv": "Asset,Value,Venue,Class\nBTC,450000,Coinbase,crypto\nETH,280000,Coinbase,crypto\nSOL,95000,Binance,crypto\nAVAX,60000,Binance,crypto\nLINK,40000,Kraken,crypto\nMATIC,-55000,Binance,crypto\nUSDC,180000,Coinbase,stablecoin\nUSDT,45000,Kraken,stablecoin",
"navUsd": null
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/exposure-analysis
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/exposure-analysis",
json={"positionsCsv": "Asset,Value,Venue,Class\nBTC,450000,Coinbase,crypto\nETH,280000,Coinbase,crypto\nSOL,95000,Binance,crypto\nAVAX,60000,Binance,crypto\nLINK,40000,Kraken,crypto\nMATIC,-55000,Binance,crypto\nUSDC,180000,Coinbase,stablecoin\nUSDT,45000,Kraken,stablecoin", "navUsd": None},
)
data = res.json()Object(2)
Hedge Fund Fee Calculator
See exactly what a 2/20 (or any) fee structure costs an LP over time.
| Name | Type | Required | Description |
|---|---|---|---|
| startingNavUsd | number | Optional | — |
| annualGrossReturnPct | number | Optional | — |
| mgmtFeePct | number | Optional | — |
| perfFeePct | number | Optional | — |
| hurdlePct | number | null | Optional | — |
| hasHwm | boolean | Optional | — |
| crystallization | "annual" | "quarterly" | Optional | — |
| horizonYears | number | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/fee-calculator" \
-H "Content-Type: application/json" \
-d '{"startingNavUsd":25000000,"annualGrossReturnPct":15,"mgmtFeePct":2,"perfFeePct":20,"hurdlePct":null,"hasHwm":true,"crystallization":"annual","horizonYears":5}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/fee-calculator", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"startingNavUsd": 25000000,
"annualGrossReturnPct": 15,
"mgmtFeePct": 2,
"perfFeePct": 20,
"hurdlePct": null,
"hasHwm": true,
"crystallization": "annual",
"horizonYears": 5
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/fee-calculator
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/fee-calculator",
json={"startingNavUsd": 25000000, "annualGrossReturnPct": 15, "mgmtFeePct": 2, "perfFeePct": 20, "hurdlePct": None, "hasHwm": True, "crystallization": "annual", "horizonYears": 5},
)
data = res.json()Object(8)
Fund Operating Cost Calculator
Add up what your fund's back office actually costs every year.
| Name | Type | Required | Description |
|---|---|---|---|
| financeHireUsd | number | Optional | — |
| fundAdminUsd | number | Optional | — |
| complianceUsd | number | Optional | — |
| riskDeskUsd | number | Optional | — |
| lpReportsPerYear | number | Optional | — |
| costPerReportUsd | number | Optional | — |
| auditUsd | number | Optional | — |
| legalUsd | number | Optional | — |
| softwareUsd | number | Optional | — |
| aumUsd | number | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/operating-cost-calculator" \
-H "Content-Type: application/json" \
-d '{"financeHireUsd":120000,"fundAdminUsd":100000,"complianceUsd":80000,"riskDeskUsd":40000,"lpReportsPerYear":12,"costPerReportUsd":8000,"auditUsd":0,"legalUsd":0,"softwareUsd":0,"aumUsd":25000000}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/operating-cost-calculator", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"financeHireUsd": 120000,
"fundAdminUsd": 100000,
"complianceUsd": 80000,
"riskDeskUsd": 40000,
"lpReportsPerYear": 12,
"costPerReportUsd": 8000,
"auditUsd": 0,
"legalUsd": 0,
"softwareUsd": 0,
"aumUsd": 25000000
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/operating-cost-calculator
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/operating-cost-calculator",
json={"financeHireUsd": 120000, "fundAdminUsd": 100000, "complianceUsd": 80000, "riskDeskUsd": 40000, "lpReportsPerYear": 12, "costPerReportUsd": 8000, "auditUsd": 0, "legalUsd": 0, "softwareUsd": 0, "aumUsd": 25000000},
)
data = res.json()Object(10)
Back-Office Savings Calculator
See what part of your back-office spend is realistically automatable.
| Name | Type | Required | Description |
|---|---|---|---|
| financeHireUsd | number | Optional | — |
| fundAdminUsd | number | Optional | — |
| complianceUsd | number | Optional | — |
| riskDeskUsd | number | Optional | — |
| lpReportsPerYear | number | Optional | — |
| costPerReportUsd | number | Optional | — |
| auditUsd | number | Optional | — |
| legalUsd | number | Optional | — |
| softwareUsd | number | Optional | — |
| aumUsd | number | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/back-office-savings" \
-H "Content-Type: application/json" \
-d '{"financeHireUsd":120000,"fundAdminUsd":100000,"complianceUsd":80000,"riskDeskUsd":40000,"lpReportsPerYear":12,"costPerReportUsd":8000,"auditUsd":0,"legalUsd":0,"softwareUsd":0,"aumUsd":25000000}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/back-office-savings", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"financeHireUsd": 120000,
"fundAdminUsd": 100000,
"complianceUsd": 80000,
"riskDeskUsd": 40000,
"lpReportsPerYear": 12,
"costPerReportUsd": 8000,
"auditUsd": 0,
"legalUsd": 0,
"softwareUsd": 0,
"aumUsd": 25000000
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/back-office-savings
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/back-office-savings",
json={"financeHireUsd": 120000, "fundAdminUsd": 100000, "complianceUsd": 80000, "riskDeskUsd": 40000, "lpReportsPerYear": 12, "costPerReportUsd": 8000, "auditUsd": 0, "legalUsd": 0, "softwareUsd": 0, "aumUsd": 25000000},
)
data = res.json()Object(10)
LP Report Grader
Grade your monthly LP update against what institutional investors expect.
| Name | Type | Required | Description |
|---|---|---|---|
| reportText | string | Optional | — |
| reportingFrequency | "monthly" | "quarterly" | "adhoc" | Optional | — |
cURL
curl -s -X POST "https://nyxchain.org/api/v1/calc/lp-report-grader" \
-H "Content-Type: application/json" \
-d '{"reportText":"","reportingFrequency":"monthly"}'JavaScript
const res = await fetch("https://nyxchain.org/api/v1/calc/lp-report-grader", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"reportText": "",
"reportingFrequency": "monthly"
}),
})
const data = await res.json()Python
# POST https://nyxchain.org/api/v1/calc/lp-report-grader
import requests
res = requests.post(
"https://nyxchain.org/api/v1/calc/lp-report-grader",
json={"reportText": "", "reportingFrequency": "monthly"},
)
data = res.json()Object(2)
FAQ
Questions, answered
Is there an API to calculate hedge fund fees?
Yes. POST /api/v1/calc/fee-calculator computes management and performance fees — including high-water mark and hurdle logic — from your fund's own inputs, with no authentication and no fund connection required. Results are illustrative estimates, not accounting or tax advice.
Is there a crypto fund fee calculator API?
Yes. The same POST /api/v1/calc/fee-calculator endpoint is a stateless, illustrative crypto fund fee calculator — pass management fee rate, performance fee rate, NAV, and prior high-water mark, and get back the fee breakdown, with no auth and no fund connection required.
Is there a high-water mark calculation API?
Yes, the same fee-calculator endpoint (POST /api/v1/calc/fee-calculator) applies a per-series high-water mark so performance fees accrue only on gains above the prior peak NAV — pass in your NAV history and fee terms and get back the fee breakdown.
Do the Nyx Fund calculator endpoints require an API key?
No. All seven calculator endpoints — fee, NAV validation, exposure analysis, operating cost, back-office savings, fund health, and LP report grading — are stateless and open with no authentication; an optional nyx_dk_ key only raises your daily rate limit.
Are the calculator API results real fund figures?
No. Every calculator endpoint returns illustrative estimates computed only from the arguments you pass in that single call — nothing is stored and nothing is tied to a real fund. Connect your exchanges in the full Nyx Fund product for live, audited figures.
What calculators does the Nyx Fund API expose?
Seven: the fee calculator (with high-water mark), NAV validator, exposure analysis, operating cost calculator, back-office savings calculator, fund health check, and LP report grader — the same deterministic engines behind the free tools at nyxchain.org/tools.
What's the rate limit on the free calculator API?
Five hundred requests per day with no card required, per caller. Passing an nyx_dk_ developer key raises that limit under the $49-a-month Developer plan or the bundled Platform plan.