AGENT-NATIVE · 25 FREE CREDITS · PAY PER CALL

VC intelligence infrastructure
for autonomous agents.

950+ active VC funds. Live investor signals.
Self-register and get 25 free credits instantly. From €0.01 per call after that, and credits never expire.

This page is for software that runs without a person: registering, paying and calling on its own. Setting Fund Momentum up inside Claude, ChatGPT or Cursor for yourself? Go to /mcp →

950+Active Funds
25Free Credits
∞No Expiry
8MCP Tools

01 — How it works

Three steps. No humans required.

An agent gets its own access key in one request, uses 25 free credits to try the data, and when those run out it can pay for more by itself with a digital dollar (USDC), with no card, account or person involved. Each lookup costs a cent or a few cents.

01

Register

Ask for a key and get one instantly, with 25 free credits and no approval or payment. You can also skip registering: four tools answer 10 calls a day with no key at all.

→
02

Pay when the free credits run out

The agent is told the price, pays it in USDC and repeats its request, then gets the data with a receipt. A timed-out request can be repeated safely: it never costs twice. Credits never expire.

No wallet yet? Wallet setup guide →

→
03

Call the MCP

Search funds, read profiles, check what changed. Credits are deducted automatically and every response says how many are left.

POST {"agent_name":"..."} (3–64 characters) to /_api/agent/register. Optional fields: email (makes a lost key recoverable; grants no extra access), operator_url and contact. The key is returned once; only a hash is stored, so a lost key cannot be re-read.

Limits: 3 new keys per IP and 10 per /24 network per UTC day. Past that you get a 429 that names the keyless route and inline payment as alternatives. The 25 free credits are granted once per email if you send one, and the site caps free grants per UTC day; past the cap registration still succeeds with a zero balance.

Without registering: search_funds, get_fund, get_changes (7-day window) and check_lp_coverage answer 10 calls per caller per UTC day, and the paid tools accept inline payment with no key.

A paid call without enough credit is not charged. It is answered with a payment challenge: HTTP 402 with a WWW-Authenticate: Payment header for plain HTTP clients, or JSON-RPC error -32042 inside a normal 200 response for MCP clients. The agent pays it over MPP with USDC on Tempo mainnet (chain 4217), repeats the call with the credential, and receives the data plus a Payment-Receipt carrying the on-chain reference. The chain id and token address in the challenge are authoritative.

Prices are set in EUR and settled in USDC at the ECB daily reference rate plus a 1.5% buffer. A challenge expires after five minutes. Spending is capped at €1,000 per payer per UTC day, checked before a challenge is issued. MPP payments cannot be reversed, which is why existence checks (a wrong slug) run before any challenge.

To buy a balance up front instead, POST {"amount_eur":80} to /_api/agent/credits/topup (€10, €80 or €500, i.e. 1,000, 10,000 or 100,000 credits) and pay the challenge the same way. The first completed payment on a key doubles its limits.

Need a funded wallet first? Wallet setup guide →

02 — What it costs

Pay per lookup. Credits never expire.

One credit is worth €0.01. Looking up a fund, or checking what changed, costs one credit. Investor signals and partner profiles cost €0.10, and matching a startup to funds costs €0.25. There is no subscription and nothing resets. To add credit in advance, an agent buys a pack in USDC; the bigger the pack, the cheaper each credit (up to 50% off).

ToolPriceWhat it does
get_fund, get_changes€0.01 per callOne fund’s profile; what changed since a date.
search_funds€0.01 per fund returnedFind funds by stage, country, industry or recent close. Up to 150 funds per key per UTC day.
get_fund_signals, get_gp_profile€0.10 per callInvestor signals; General Partner profiles.
match_startup€0.25 per callDescribe a startup, get the 10 best-matching funds.
check_lp_coverageFreeCounts of matching LPs. Never billed.
search_lpsLP Radar subscriptionLP records. Never sold per call or on credits.

Add credit with USDC (agents)

An agent can top up its own balance with no human involved. Bigger packs cost less per credit.

Top-upCreditsPer creditDiscount
€101,000€0.010—
€8010,000€0.00820% off
€500100,000€0.00550% off

Or buy the €10 pack by card (people)

Card checkout is for a person buying credits for their agent. It currently sells the €10 pack only; the larger, cheaper packs are bought in USDC above.

€10
1,000 credits
€0.010 / credit
Starter pack

Credits never expire. No subscription. No monthly resets.

Packs and single calls. USDC top-ups (amount_eur 10, 80 or 500 at POST /_api/agent/credits/topup) grant 1,000, 10,000 or 100,000 credits. Paying a single call without a pack is €0.01 per credit. A card purchase is credited to the agent key linked to the buyer’s email (link one with POST /_api/agent/link); if no single key is linked yet, the credits wait on the account and move across when you link.

search_funds is billed per fund returned (minimum one credit), up to 150 funds per key per UTC day. A call that would exceed the remainder is refused before any charge. Every response reports matched and truncated. Callers who have not paid get at most 10 results per call and no offset; an over-cap limit is rejected rather than clamped.

Spend cap: €1,000 per payer per UTC day over MPP (card purchases are not counted against it). Balance: GET /_api/agent/me is free and never billed. The first completed payment, by USDC or card, doubles a key’s limits and lifts the result cap on search_funds.

Per-call prices are also in each tool’s description and in the generated reference at /_api/mcp-tools →

03 — Safe retries

Retries are safe. A call never costs twice.

If a paid request times out and your software sends it again, you are shown the same price instead of a new one, so you cannot be asked to pay twice. If you already paid and lost the answer, asking again returns it free. A mistyped fund name is refused before any payment is requested.

Your paid call timed out. You retry it.

You get back the same payment challenge, not a new one, for about ten minutes (a challenge itself expires after five). One call, one challenge, one payment — a retry cannot cost two payments. This matters because the retry usually happens in whatever framework is driving your agent, several layers below the code that knows a payment was involved.

And once a call has actually been paid for, retrying it returns the stored result, free, for an hour. An agent that paid and then lost the response does not pay a second time to get it back.

What counts as “the same call”

The payer, the tool, and the arguments. Argument order is irrelevant — {"slug":"x","stage":"seed"} and {"stage":"seed","slug":"x"} are one call, not two.

To draw that boundary yourself, set vc.fundmomentum/idempotency-key in the request’s params._meta. It is optional, and most agents never need it: with no key the boundary is derived for you.

"params": {
  "name": "get_fund_signals",
  "arguments": { "slug": "137-ventures" },
  "_meta": { "vc.fundmomentum/idempotency-key": "your-own-key" }
}

Error codes, and whether you were charged

CodeMeaningWere you charged?
-32042Payment required. A challenge is attached in error.data.challenges.No. Nothing has been charged. Pay the challenge and retry.
-32043The credential you presented was rejected and no data was returned.Money may have moved. If an on-chain transfer settled against the challenge, keep the transaction hash and send it to us — that hash is the proof of payment and it is what lets us credit you by hand.
-32000
not_found
The thing you asked for does not exist — an unknown slug, a name that matches several funds (they are listed, none is picked for you), or a fund with no published signals. Carries checked_before_payment: true.Never charged. Fix the argument and call again.
-32602
invalid_args
An unknown, missing or malformed parameter, refused before any challenge.Never charged. The message names what was expected.

A wrong slug is refused before any payment. Existence is checked first, so you are never billed for a fund we do not carry. An MPP payment cannot be reversed, which is exactly why that check runs before the challenge is issued rather than after.

Near-miss names are resolved only when there is no doubt. A different case or spacing, or a name that is a hyphen-boundary prefix of exactly one real slug (speedinvest-africa → speedinvest-africa-fund), is served, and the result carries resolved_from so you learn the real slug. A name that matches several funds is listed, never guessed. This also runs before the challenge, so a wrong name is never charged.

04 — Connect your agent

Works with any MCP client.

Point any MCP-capable framework at one address and send your key in a header. Below are copy-paste examples for registering, the response you get back, and a typical config.

Compatible withLangChainCrewAIn8nAutoGPTLangGraphOpenAI Agents SDKClaudeAny MCP Client

Register your agent

curl -X POST https://fundmomentum.vc/_api/agent/register \
  -H "Content-Type: application/json" \
  -d '{"agent_name": "my-workflow"}'

Response (abridged)

{
  "api_key": "fm_agent_...",
  "agent_id": "agt_...",
  "agent_credits": 25,
  "free_credits_granted": 25,
  "status": "registered",
  "tools_paid_per_call": {
    "get_fund_signals": "€0.10",
    "get_gp_profile": "€0.10",
    "match_startup": "€0.25"
  },
  "payment": {
    "protocol": "mpp",
    "methods": ["tempo_usdc"],
    "topup_endpoint": "/_api/agent/credits/topup"
  },
  "mcp_endpoint": "https://fundmomentum.vc/_api/mcp"
}

Every MCP response includes

{
  "result": {
    "content": [{ "type": "text", "text": "..." }],
    "_meta": {
      "credits_remaining": 9847,
      "cost_per_call": "€0.01",
      "billing": "per_call"
    }
  }
}

MCP client config (any framework)

{
  "mcpServers": {
    "fund-momentum": {
      "url": "https://fundmomentum.vc/_api/mcp",
      "headers": { "X-API-Key": "YOUR_API_KEY" }
    }
  }
}

ENDPOINT   POST https://fundmomentum.vc/_api/mcp          JSON-RPC 2.0 over HTTP
AUTH       X-API-Key: <key>   ·   Authorization: Bearer <key>   ·   ?api_key=<key>
KEYLESS    send no credential at all: search_funds, get_fund, check_lp_coverage,
           get_changes (7-day window), 10 calls per caller per UTC day

DISCOVERY  /_api/well-known/mcp/server-card    tools, prices, limits, payment
           /openapi.json                       OpenAPI 3.1 + MPP x-payment-info
           /llms.txt                           LLM context and citation rules
           /_api/mcp-tools                     generated tools reference (Markdown)

AGENT API  POST /_api/agent/register           {"agent_name":"..."}  →  key + 25 credits
           GET  /_api/agent/me                 balance and limits — free, never billed
           POST /_api/agent/credits/topup      {"amount_eur":80}  →  402  →  pay  (10 | 80 | 500)
           POST /_api/agent/link               optional email; grants no access

PAYMENT    MPP over Tempo mainnet · chain 4217 · USDC
           402  →  WWW-Authenticate: Payment ...  →  pay  →  retry  →  Payment-Receipt
           €0.01 free tools · €0.10 signals and GP profiles · €0.25 matching
           top-up packs €10 → 1,000 · €80 → 10,000 · €500 → 100,000 credits
           €1,000 per payer per UTC day, checked before a challenge is issued

SYNC       get_changes with the previous etag as if_none_match; advance to
           next_since. Do not re-run search_funds on a schedule.
           change_type: created · signal_updated · close_updated

CLOSES     search_funds {"closed_since":"2026-09-01"}  newest close first
           get_fund → last_close {type, date, date_basis:"reported", amount_m, currency, source_url}
           last_close is null when we have not covered a close, not when none happened

PUSH       POST /_api/webhooks/subscribe       {"url":"https://..."}  Pro/Enterprise only
           signed close_updated events · FM-Signature: t=…,v1=HMAC-SHA256
           (agent credit keys poll get_changes instead)

05 — Register

Register your agent now.

Get your API key and 25 free credits instantly. No approval, no payment, no human.

That is the whole form — no approval, no payment, no email needed. 25 free credits are included and work on all six fund tools immediately. Credits never expire. An email can be linked later at /_api/agent/link for invoices and key recovery; it grants no extra access. LP data: check_lp_coverage is free and costs no credit; LP records (search_lps) are never sold on credits and need an LP Radar subscription (€199/month or €1,499/year, bought by a person with card checkout).

06 — FAQ

Questions agent builders ask

Yes, and nothing else is involved. POST {"agent_name":"..."} to /_api/agent/register. No email, approval or payment is needed. An API key and 25 free credits come back immediately, usable on all six fund tools in the same second. You may also send an optional email: it makes a lost key recoverable, but it is never required and grants no extra access. New keys are capped at 3 per IP and 10 per /24 per UTC day; beyond that you get a 429 that names the alternatives rather than leaving you stuck.

A paid call is answered with a payment challenge your agent settles itself over MPP: pay, retry, get the data plus a receipt. No human anywhere. MCP clients receive the challenge as JSON-RPC error -32042; plain HTTP clients receive status 402. You can also buy a balance up front at POST /_api/agent/credits/topup (€10 for 1,000 credits, €80 for 10,000 or €500 for 100,000), paid the same way. And search_funds, get_fund, get_changes (7-day window) and check_lp_coverage still answer 10 calls a day with no credential at all, so dropping the X-API-Key header keeps you working regardless.

Never. Buy once, use whenever. No monthly resets, no subscription.

Yes, on credit packs. An agent topping up in USDC pays €10 for 1,000 credits (€0.010 each), €80 for 10,000 (€0.008 each, 20% off) or €500 for 100,000 (€0.005 each, 50% off). Paying a single call without buying a pack is €0.01 per credit. Card checkout currently sells the €10 pack only.

Eight in total. Six fund tools run on credits: get_fund and get_changes at €0.01 per call, search_funds at €0.01 per fund returned (up to 150 funds per key per UTC day, with matched and truncated in every response so you can tell if the list is complete), get_fund_signals and get_gp_profile at €0.10, match_startup at €0.25. There is no verification step; the 25 free credits work on every one of them from the first call. Two LP tools sit outside credits: check_lp_coverage is free and returns counts only, and search_lps needs an LP Radar subscription. To stay current, use get_changes rather than re-running search_funds on a schedule: it returns only what moved, and an unchanged window costs a few bytes if you send the previous etag back as if_none_match.

Yes, and it is live on Tempo mainnet (chain 4217) with real USDC. A paid tool called without sufficient credits, or with no key at all, answers with a standard payment challenge (HTTP 402 with a WWW-Authenticate: Payment header, or JSON-RPC error -32042 for MCP clients); your agent pays, retries, and receives the data plus a Payment-Receipt with the on-chain reference. Top-ups work the same way. No account, no email, no browser, no person. Spending is capped at €1,000 per payer per UTC day as a safety rail, and the cap is checked before a challenge is issued so you are never invited to pay for something that would then be refused.

Retry it. The same call returns the same payment challenge for about ten minutes, so a retry cannot create a second payment obligation. Once a call has been paid for, retrying it returns the stored result free for an hour. A wrong fund slug is refused before any payment is requested, so it is never charged.

GET /_api/agent/me with your key. It returns credits_remaining, spend today and trust standing. It is free and never billed, so an agent never has to spend a credit to find out it is nearly out.

Yes, twice over. Without registering, search_funds, get_fund, get_changes (7-day window) and check_lp_coverage answer 10 calls per caller per UTC day with no API key at all. And every agent that self-registers gets 25 free credits immediately, working on all six fund tools, with no payment and no verification step. Free credits are granted once per email address if you supply one, and the site has a daily ceiling on free grants; past it, registration still succeeds with a zero balance.

No monthly cap. Pace limits apply to every agent key: 60 calls per minute and 2,000 per UTC day, doubled once the key has completed a payment, plus 120 calls per minute per IP address across all keys. Over a limit you get a 429 with Retry-After and are not charged; GET /_api/agent/me reports your current limits and usage. Your credit balance limits total calls, and search_funds is also limited to 150 funds per key per UTC day (a call that would exceed it is refused before any charge; page with offset). Callers who have not paid get shaped responses: at most 10 search results per call (an over-cap limit is rejected, not clamped), and get_changes limited to a 7-day window without a key or 30 days and 20 items with a free key. A shortened window is declared as since_floor_applied rather than silently truncated.

For people: /mcp. For machines: the discovery card at /_api/well-known/mcp/server-card, the MPP and OpenAPI document at /openapi.json, the generated tools reference at /_api/mcp-tools and /llms.txt for LLM context. Source and worked examples at github.com/schneidavie/fundmomentum.