Carta Valuation History

by carta6ab81016389cNo license14 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

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.

Instructions onlyBusiness & Finance
AI-generated overview

Fetches a company's Carta valuation history and current fair market value, covering 409A, EMI, CSOP and share-price reports.

What it does
Retrieves a company's valuation records from Carta by corporation ID and presents the current fair market value per share plus a history table. It distinguishes valuation sources (409A, EMI, CSOP, share price) and valuation types (AMV, UMV, FMV, SHARE_PRICE), flags upcoming or past expirations, and adds a trend summary. It reads valuations only and cannot create or update them.
When to use it
Use it for questions about a company's current valuation, fair market value, common stock exercise price, valuation expiry or validity, or how the FMV has changed over time. It is not intended for aggregate comparisons across multiple portfolio companies.
Requirements
Requires the Carta MCP tools (call_tool, list_contexts, set_context, list_accounts) and a corporation_id, which can be obtained from list_accounts. No scripts are shipped; instructions only.
<!-- carta:plugin-version -->

<carta-plugin>carta-cap-table:6.89.2</carta-plugin>

<!-- Part of the official Carta AI Agent Plugin -->

Valuation History

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.

When to Use

  • "What's our current valuation?" / "What's the current 409A?"
  • "Show me the FMV history"
  • "When does the valuation expire?"
  • "What's the exercise price for common stock?"
  • "Has the FMV changed recently?"
  • "Is the valuation still valid?"

Prerequisites

You need the corporation_id. Get it from list_accounts if you don't have it.

Data Retrieval

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.

Response Format

json
{  "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.

Key Fields

  • price: FMV per share, a high-precision decimal string (e.g. "0.500000000000")
  • currency: ISO code for this row — read it per row, never assume
  • valuation_type: AMV, UMV, FMV, or SHARE_PRICE
  • support_reference_type: which instrument the row came from (409A / EMI / CSOP / share price)
  • effective_date / expiration_date: ISO YYYY-MM-DD
  • status: ACTIVE or EXPIRED, computed server-side
  • share_class_name: e.g. "Common", "Ordinary"

AMV and UMV

A single HMRC valuation produces two prices, both live at once:

  • AMV — actual market value, discounted for restrictions on the shares
  • UMV — unrestricted market value

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.

Fallback

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.

Workflow

Step 1 — Fetch Valuations

call_tool({"name": "cap_table__get__valuations", "arguments": {"corporation_id": corporation_id}})

Step 2 — Identify the Current Valuation

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.

Step 3 — Check Expiration

  • Within 90 days of today — flag as a time-sensitive action item, not just a data point: bold it, give the exact days remaining, and recommend starting renewal now (especially if a financing round is in progress, since closing will likely push past the expiry date).
  • Already past — flag as expired.
  • No expiration_date — say it does not expire on a fixed date rather than inferring one.

Step 4 — Present Results

Show the history table and trend summary (see Presentation section).

Gates

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.

Presentation

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.

EffectiveExpiresFMV/ShareTypeSourceShare ClassStatus
Jan 15, 2026Jan 14, 2027GBP 0.50AMVEMIOrdinaryCurrent
Jan 15, 2026Jan 14, 2027GBP 0.75UMVEMIOrdinaryCurrent
Apr 25, 2024Apr 24, 2025USD 12.61FMV409ACommonExpired

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.

Caveats

  • The price field is a string with many trailing zeros — always parse and format before displaying.
  • A valuation with a past expiration_date should never be used for new grant pricing. Flag it prominently.
  • Valuations are point-in-time snapshots — a material event (e.g. a new financing round) can invalidate a current valuation before its expiration date.
  • This skill reads valuations; it cannot create or update one. Route those requests to the Carta app — for a non-US company that is the international valuations dashboard, not the 409A ledger.

Source and attribution

Source:carta/pluginsinplugins/carta-cap-table/skills/carta-valuation-historyat commit6ab8101

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from carta/plugins

Carta Fund Admin Requests

carta

Send work to your Carta Fund Admin team and track it. Opens a request the team reads, acts on, and replies to — the off-ramp for anything no other Carta skill or command can do. TRIGGER: "ask Carta to", "have Carta do", "send this to my fund admin", "ask my fund admin team", "can Carta do this for me", "check on my request", "did Carta reply", "what requests do I have open", "reply to Carta", "follow up on my request", plus ANY action request (create/change/send/restate/reconcile/split/fix) that no other skill or Carta command covers. NOT FOR: reporting a bug or feature request about this plugin (call fa:create:feedback directly); questions answerable from Carta data (use carta-explore-data); capital call reminders to LPs (that is a Carta command, not a Fund Admin request).

Awaiting classification14updated today

Carta Explore Data

carta

Answers Carta Web / Fund Admin investor data questions by querying the Carta data warehouse and formatting results.

Data & Analytics14updated today

Carta Download Tearsheet

carta

Downloads Carta tear sheets for portfolio companies and funds via the Carta MCP server.

Documents & Office14updated today

Update Note

carta

Searches for notes in the Carta CRM and helps the user update deal comments. Use this skill when the user says things like "update a note", "edit note", "update note content", "change a note", or "/update-note". Note: standalone note editing is not available via MCP — notes/comments are attached to deals and updated via the update-deal skill.

Awaiting classification14updated today

Update Investor

carta

Partially updates an existing investor record in the Carta CRM by ID or name.

Business & Finance14updated today

Update Fundraising

carta

Updates an existing fundraising record in the Carta CRM. Use this skill when the user says things like "update a fundraising", "edit fundraising", "update fundraising details", "change fundraising stage", "update fundraising fields", or "/update-fundraising". Accepts a fundraising ID or name (will search if no ID provided). Only the fields explicitly provided are changed — all other fields are left untouched.

Awaiting classification14updated today