# falcon.sol comps falcon.sol: agent-native finance data, paid per call with x402. X: https://x.com/ygfalcon > Standardized financials and trading comps for any SEC-registered US company, built directly from SEC EDGAR XBRL filings (10-K, 10-Q). Every value cites its XBRL tag and the SEC source URL. Paid per call with x402 v2 in USDC on Solana or Base. No account, no API key. ## Endpoints - GET https://falcon-comps.vercel.app/v1/preview?ticker=AAPL (free): latest fiscal-year revenue and net income, SIC, industry, fiscal year end. - GET https://falcon-comps.vercel.app/v1/peers?ticker=NVDA (free): SIC-based peer tickers ranked by revenue closeness; pass them to /v1/comps. - POST https://falcon-comps.vercel.app/v1/financials ($0.015, x402) JSON {"ticker":"AAPL","years":5}: fiscal_years[], income_statement{revenue,cost_of_revenue,gross_profit,operating_income,depreciation_amortization,ebitda,interest_expense,net_income,eps_diluted,diluted_shares_weighted}, cash_flow{operating_cash_flow,capex,free_cash_flow}, ttm{as_of,basis,revenue,ebitda,net_income,free_cash_flow,...}, balance_sheet{cash,short_term_investments,total_assets,total_liabilities,total_equity,long_term_debt,current_debt,short_term_borrowings,total_debt}, shares_outstanding, ratios{revenue_growth_yoy,gross_margin,operating_margin,ebitda_margin,net_margin,fcf_margin,roe,net_debt,debt_to_equity}, source{xbrl_tags,url}. - POST https://falcon-comps.vercel.app/v1/comps ($0.05, x402) JSON {"tickers":["MSFT","GOOGL","AMZN"],"prices":{"MSFT":500}}: per ticker price, shares_outstanding, market_cap, net_debt, enterprise_value, ttm_revenue, ttm_ebitda, ttm_net_income, ev_revenue, ev_ebitda, pe, p_fcf, revenue_growth_yoy, margins; summary{median,mean}. Banks/insurers get P/B instead of EV multiples. Up to 12 tickers. - POST https://falcon-comps.vercel.app/v1/credit ($0.24, x402) JSON {"tickers":["HCA","THC","UHS"],"assumptions":{"turns":4.5}}: per company credit{total_debt,cash,net_debt,ebitda_ttm,interest_expense,gross_leverage,net_leverage,interest_coverage,ebitda_minus_capex_coverage,fcf_to_debt,debt_to_ev,implied_cost_of_debt}, debt_capacity{headline,binding,implied_leverage,lenses{leverage,coverage,fcf_dscr},cfads,incremental_vs_existing,at_peer_median_leverage}, structures[conservative|base|stretch]{debt,leverage,coupon,interest_coverage,dscr,indicative_rating}, memo{summary[],key_risks[]}; peer_summary medians; assumptions{key:{v,why}}. - POST https://falcon-comps.vercel.app/v1/lbo ($4.49, x402) JSON {"ticker":"HCA","peers":["THC","UHS","CYH"],"assumptions":{"premium":0.3,"years":5}}: take-private entry EV (market cap x (1+premium) + net debt), returns[] per structure {sources_uses, entry_multiple, exit_multiple, moic, irr, end_debt}, base_case_schedule[] (interest, amortization, sweep, leverage by year), sensitivity_irr 3x3 (debt turns x exit multiple), credit_stress (EBITDA -20%, coupon +200bp, exit -1x), per-year DSCR/coverage, warnings[], units, model_version, credit, debt_capacity, memo, assumptions{key:{v,why}}. Optional "interest_basis":"average" (circular average-balance interest); optional HoldCo PIK via assumptions pik_turns/pik_rate (accretes, tax-deductible, repaid at exit). Exit equity floored at 0 (wipeout flag); DSCR = CFADS/(interest+amortization). Out-of-range assumptions (e.g. tax_rate 25 instead of 0.25) return 400 before payment. Exit multiple = peer median EV/EBITDA (or override, or target's unaffected multiple); the control premium is not assumed recoverable, so exit < entry by design, and warnings[] flags exits >20% below the target's unaffected multiple. Banks/insurers and negative EBITDA return 422 (unpaid requests are never charged for bad input). - POST https://falcon-comps.vercel.app/v1/gpu-comps ($0.04, x402) JSON {"gpus":["h100","h200"],"tiers":["community_cloud","secure_cloud","serverless"],"target_usd_per_gpu_hr":2.5}: listed USD per GPU-hour comps read from RunPod, Modal, Lambda and CoreWeave public pricing pages. Per GPU: summary{offers,providers,min,median,max,cheapest,on_demand_median,spread_x}, target{percentile,vs_median_pct}, offers[]{provider,sku,gpu,tier,usd_per_gpu_hr,terms,source_url,fetched_at}; plus sources[]{ok,fetched_at,age_minutes,stale} and freshness. Pages are re-read at most hourly; a failed refresh serves the last good copy up to 24h old, marked stale. If fewer than 2 providers are readable you get 502 before payment. Listed prices, not transacted; Lambda rows are committed cluster rates; CoreWeave is per-instance divided by GPU count. - Every assumption is returned with its value and reason; override any by name. Indicative ratings are a scorecard, not agency ratings. - Ticker can be a symbol (BRK.B ok) or a numeric CIK. Unknown tickers return 404 before payment. - MCP (streamable HTTP): https://falcon-comps.vercel.app/mcp. Tools: preview_financials (free), suggest_peers (free), get_financials ($0.015), get_comps ($0.05), get_credit ($0.24), get_lbo ($4.49), get_gpu_comps ($0.04). ## Accuracy 96.2% of 79 values match Yahoo Finance fundamentals within 0.5% across 12 large caps (revenue 100.0%, operating_income 77.8%, net_income 100.0%, eps_diluted 100.0%, operating_cash_flow 100.0%, capex 100.0%, ttm_revenue 87.5%, ttm_net_income 100.0%). Differences are definitional (Yahoo adjusts operating income; we report it as filed). TTM uses the newest 10-Q, often a quarter ahead of aggregators. Raw: https://falcon-comps.vercel.app/accuracy ## Pay 1. POST to a paid endpoint; get HTTP 402 with PAYMENT-REQUIRED (x402 v2; Solana and Base USDC). 2. Sign with @x402/fetch wrapFetchWithPayment and retry. Settlement only after a 2xx. ## Machine-readable - [OpenAPI 3.1](https://falcon-comps.vercel.app/openapi.json) - [x402 discovery](https://falcon-comps.vercel.app/.well-known/x402) - [JSON-LD](https://falcon-comps.vercel.app/catalog.jsonld) ## Data and terms Source: SEC EDGAR public XBRL (data.sec.gov), fetched under SEC fair-access rules and cached. Prices: delayed public quotes (override with prices). Not investment advice. ## Contact falcon.sol