Fetch a company's valuation history and current fair market value (FMV) — 409A, EMI, CSOP or share price. Use for questions about valuations, FMV, exercise prices, or expiry. Not for cross-portfolio comparisons — prefer a portfolio-benchmarks skill.
carta-cap-table:6.91.7
Fetch a company's fair market value (FMV) history.
FMV is not always a 409A. A 409A is the US instrument; a UK company is valued under an EMI or CSOP agreement with HMRC, and other companies use a share-price report. Read whichever the company actually has, and never tell a company with a valid EMI valuation that it has none.
You need the corporation_id. Get it from list_accounts if you don't have it.
call_tool({"name": "cap_table__get__valuations", "arguments": {"corporation_id": corporation_id}})Optional valuation_source filters to one or more of EMI, CSOP, 409A, SHARE_PRICE.
Omit it — the point of this command is that it covers every source at once.
{
"count": 2,
"active": [
{
"price": "0.500000000000",
"currency": "GBP",
"valuation_type": "AMV",
"support_reference_type": "EMI_VALUATION_REPORT",
"effective_date": "2026-01-15",
"expiration_date": "2027-01-14",
"share_class_name": "Ordinary",
"status": "ACTIVE"
}
],
"history": []
}history holds every row including expired ones; active is the subset the server considers
live.
price: FMV per share, a high-precision decimal string (e.g. "0.500000000000")currency: ISO code for this row — read it per row, never assumevaluation_type: AMV, UMV, FMV, or SHARE_PRICEsupport_reference_type: which instrument the row came from (409A / EMI / CSOP / share price)effective_date / expiration_date: ISO YYYY-MM-DDstatus: ACTIVE or EXPIRED, computed server-sideshare_class_name: e.g. "Common", "Ordinary"A single HMRC valuation produces two prices, both live at once:
They are not duplicates and one is not "the real one". Show both, labelled. If asked which applies to a specific grant, say that depends on the grant's terms and point the user to their equity advisor — the data does not record it, and the two carry different tax outcomes.
If cap_table__get__valuations is unavailable for the company, fall back to
cap_table__get__409a_valuations, which returns {count, current_409a, history} for US 409A
data only. That response has no currency field — present its prices unlabelled rather than
assuming a symbol, and check current_409a.is_expired before calling it current.
call_tool({"name": "cap_table__get__valuations", "arguments": {"corporation_id": corporation_id}})Use active. Do not re-derive live-vs-expired from dates: the server applies per-source
rules (a share-price report has its own state; a null expiration means open-ended) that a date
comparison gets wrong.
Where you do sort, sort on parsed dates, never raw strings. These are ISO so they happen to
sort correctly, but the 409A fallback returns MM/DD/YYYY, where a string sort is month-major
and ranks 12/01/2023 above 04/25/2025.
If active holds more than one row, they are all current — an AMV/UMV pair, or several share
classes. Present them all rather than picking one.
expiration_date — say it does not expire on a fixed date rather than inferring one.Show the history table and trend summary (see Presentation section).
Required inputs: corporation_id.
If missing, call AskUserQuestion before proceeding (see carta-interaction-reference §4.1).
AI computation: No — this skill presents Carta data directly.
Format: Table + trend summary
BLUF lead: Lead with the current FMV per share — with its currency and source — and its effective/expiration dates, before showing the history table.
Sort order: By effective_date descending (most recent first).
Date format: MMM d, yyyy (e.g. "Jan 15, 2026").
Currency: format price with the row's own currency, trimming trailing zeros. Never
hardcode a $, and never default to USD — a GBP valuation shown as dollars is a reporting
error, not a cosmetic one.
| Effective | Expires | FMV/Share | Type | Source | Share Class | Status |
|---|---|---|---|---|---|---|
| Jan 15, 2026 | Jan 14, 2027 | GBP 0.50 | AMV | EMI | Ordinary | Current |
| Jan 15, 2026 | Jan 14, 2027 | GBP 0.75 | UMV | EMI | Ordinary | Current |
| Apr 25, 2024 | Apr 24, 2025 | USD 12.61 | FMV | 409A | Common | Expired |
Drop the Type and Source columns when every row shares the same values (a US-only company gets back its familiar 409A table).
Do not render a bar chart for FMV history — values in mature companies cluster near the maximum, making bars uninformative (all bars look the same width). The table is sufficient. Instead, after the table, add a one-line trend summary:
FMV has grown Nx since YYYY, with [acceleration/steady growth] since [year].
Only compare like with like. A growth multiple across two different currencies is
meaningless, and so is one that mixes an AMV with a UMV. Compute the trend within a single
currency and a single valuation_type; if the series spans more than one, give a separate
line for each or omit the trend entirely.
If multiple share classes exist, group by share class name in the table.
price field is a string with many trailing zeros — always parse and format before
displaying.expiration_date should never be used for new grant pricing. Flag it
prominently.2f20566
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.