Review the documented investment portfolio of a crypto fund. Returns documented portfolio investments with project identities, investment dates, lead-investor flags and available fundraising amounts. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Up to 0.0072 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
Fund Portfolio · Surf
Review the documented investment portfolio of a crypto fund. Returns documented portfolio investments with project identities, investment dates, lead-investor flags and available fundraising amounts. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
You receive
Returns documented investments with project IDs, dates, lead-investor flags and available funding amounts. Projects may appear in multiple rounds, so row count differs from unique project count. This list does not establish current marked-to-market fund holdings.
Start with your task
Review the recorded investments for crypto fund [a16z], including their dates. Explain that these records do not show what the fund owns today.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object | unknown
Optional
qqueryParams.q
string
Optional
Fuzzy fund name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. Example: a16z.
Minimum length
1
idqueryParams.id
string
Optional
Surf fund UUID. PREFERRED — always use this when available from a previous response (e.g. id from /search/fund). Takes priority over q. Example: ef3b6da9-283d-4080-b3c7-87b1b45924dc.
Minimum length
1
limitqueryParams.limit
integer
Optional
Results per page. Example: 20. Defaults to 20.
Default
20
Minimum
1
Maximum
100
orderqueryParams.order
string
Optional
Sort order. Example: desc. Defaults to "desc".
Default
desc
Options
asc, desc
offsetqueryParams.offset
integer
Optional
Pagination offset. Example: 0. Defaults to 0.
Default
0
Minimum
0
Maximum
9007199254740991
is_leadqueryParams.is_lead
string
Optional
Filter by lead investor status. Omit or leave empty for all investments. Example: true.
Options
true, false,
sort_byqueryParams.sort_by
string
Optional
Field to sort results by. Example: recent_raise. Defaults to "invested_at".
Default
invested_at
Options
invested_at, recent_raise, total_raise
invested_afterqueryParams.invested_after
integer
Optional
Only include investments at or after this Unix timestamp (seconds). Example: 1704067200.
Minimum
-9007199254740991
Maximum
9007199254740991
invested_beforequeryParams.invested_before
integer
Optional
Only include investments before this Unix timestamp (seconds). Example: 1735689600.
Minimum
-9007199254740991
Maximum
9007199254740991
View raw JSON
{
"type": "object",
"required": [],
"properties": {
"queryParams": {
"type": "object",
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"q"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Fuzzy fund name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. Example: a16z."
},
"id": {
"type": "string",
"minLength": 1,
"description": "Surf fund UUID. PREFERRED — always use this when available from a previous response (e.g. id from /search/fund). Takes priority over q. Example: ef3b6da9-283d-4080-b3c7-87b1b45924dc."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Results per page. Example: 20. Defaults to 20."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order. Example: desc. Defaults to \"desc\"."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset. Example: 0. Defaults to 0."
},
"is_lead": {
"enum": [
"true",
"false",
""
],
"type": "string",
"description": "Filter by lead investor status. Omit or leave empty for all investments. Example: true."
},
"sort_by": {
"enum": [
"invested_at",
"recent_raise",
"total_raise"
],
"type": "string",
"default": "invested_at",
"description": "Field to sort results by. Example: recent_raise. Defaults to \"invested_at\"."
},
"invested_after": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only include investments at or after this Unix timestamp (seconds). Example: 1704067200."
},
"invested_before": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only include investments before this Unix timestamp (seconds). Example: 1735689600."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Result schema
Output fields have not been documented yet.
Additional notes
Review the documented investment portfolio of a crypto fund
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.q (Optional): Fuzzy fund name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. Example: a16z.
queryParams.id (Optional): Surf fund UUID. PREFERRED — always use this when available from a previous response (e.g. id from /search/fund). Takes priority over q. Example: ef3b6da9-283d-4080-b3c7-87b1b45924dc.
queryParams.limit (Optional): Results per page. Example: 20. Defaults to 20.
queryParams.order (Optional): Sort order. Example: desc. Defaults to "desc".
queryParams.offset (Optional): Pagination offset. Example: 0. Defaults to 0.
queryParams.is_lead (Optional): Filter by lead investor status. Omit or leave empty for all investments. Example: true.
queryParams.sort_by (Optional): Field to sort results by. Example: recent_raise. Defaults to "invested_at".
queryParams.invested_after (Optional): Only include investments at or after this Unix timestamp (seconds). Example: 1704067200.
queryParams.invested_before (Optional): Only include investments before this Unix timestamp (seconds). Example: 1735689600.
What this Tool returns
Returns documented portfolio investments with project identities, investment dates, lead-investor flags and available fundraising amounts.
Response fields and how to read them
The table follows the official response contract, including nested fields and useful response metadata. [] denotes an array item. Required means required within its parent object, not that a conditional parent always exists. A nullable type permits null; an optional field can be absent. Use the documented conditions below to distinguish missing, empty and zero values. Units and reporting windows apply only where explicitly documented.
Field, type and presence
Meaning and conditions
data.[].invested_at
integer; Optional within parent; format: int64
Investment date (Unix seconds)
data.[].is_lead
boolean; Required within parent
Whether this fund was the lead investor
data.[].project_id
string; Required within parent
Surf project UUID — pass as 'id' parameter to /project/detail, /project/events, or /project/defi/metrics for exact lookup. Prefer over 'q' (fuzzy name search).
data.[].project_logo
string; Optional within parent
Project logo URL
data.[].project_name
string; Required within parent
Project name
data.[].project_slug
string; Optional within parent
Project slug
data.[].recent_raise
number; Optional within parent; format: double
Most recent funding round amount in USD
data.[].total_raise
number; Optional within parent; format: double
Total amount raised by the project in USD
meta.cached
boolean; Required within parent
Whether this response was served from cache
meta.credits_used
integer; Required within parent; format: int64
Credits deducted for this request
meta.empty_reason
string; Optional within parent
Hint explaining why the data array is empty, when applicable
meta.has_more
boolean; Optional within parent
Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
meta.limit
integer; Required within parent; format: int64
Maximum number of items returned in this response
meta.offset
integer; Required within parent; format: int64
Number of items skipped (pagination offset)
meta.total
integer; Optional within parent; format: int64
Total number of matching items (before pagination). Omitted when total is unknown.
meta.watermark
integer; Optional within parent; format: int64
Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.
Coverage, units and freshness
A project can appear in multiple rounds. Row count is not the same as unique invested-project count, and the list is not a fund's current marked-to-market holdings.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.
Data source and references
Surf supplies this endpoint through its Data API. Response contract and deployed Tool inputs reviewed on 2026-10-03 against official OpenAPI v0.2.102. This is a contract review date, not a data observation time. Coverage depends on the selected endpoint and request.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Give me the fund’s public name, such as [a16z]. If the name could match several funds, provide a fuller name. You can also ask for a date range or only investments where that fund led a round.
Returns documented portfolio investments with project identities, investment dates, lead-investor flags and available fundraising amounts.
A project can appear in multiple rounds. Row count is not the same as unique invested-project count, and the list is not a fund's current marked-to-market holdings.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0072 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Ask your agent to Review the documented investment portfolio of a crypto fund. Provide the required inputs above. If Toolmu is already connected, reuse that connection; otherwise use the setup instructions on this page. Before a paid execution, the agent must read the current Tool contract and check availability, the credit ceiling, balance, budget and your authorization. It should then execute the Tool and explain the returned fields and limitations.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.