Agentic Portal

Fund and ETF Holdings

finance
Serving

Fund and ETF portfolio composition from N-PORT and N-MFP filings. POST /v1/fund with a {query} naming a fund and get its filings and holdings as one JSON object. Deterministic per filing cycle. Pay per request in USDC; no account, no API key.

Endpoint
POST https://agent.pocket.network/v1/fund-etf-holdings/v1/fund
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453), Tempo (eip155:4217)
Protocol
rest

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

A real, working call — the request the service card verifies against.

curl -X POST https://agent.pocket.network/v1/fund-etf-holdings/v1/fund \
  -H 'content-type: application/json' \
  -d '{"query":"S&P 500"}'
Example response

The response this call returned, captured 2026-09-21 23:47:32 UTC.

{
  "portal": {
    "provenance": "third-party-supplier",
    "serviceId": "fund-etf-holdings",
    "schemaCheck": "unchecked"
  },
  "data": {
    "query": "S&P 500",
    "form": "NPORT-P (portfolio holdings)",
    "filings": [
      {
        "fund": "Capitol Series Trust  (CIK 0001587551)",
        "accession": "0000910472-25-001712:ultimus_1333.htm",
        "file_date": "2025-09-29",
        "score": 8.802237
      },
      {
        "fund": "NORTHERN LIGHTS FUND TRUST III  (CIK 0001537140)",
        "accession": "0001752724-23-119575:swansnport.htm",
        "file_date": "2023-05-26",
        "score": 8.791722
      },
      {
        "fund": "James Alpha Funds Trust  (CIK 0001829774)",
        "accession": "0001752724-22-019567:easterlynport.htm",
        "file_date": "2022-01-31",
        "score": 8.790596
      }
    ],
    "count": 20,
    "as_of": "2026-09-21",
    "source": "SEC EDGAR FTS (public domain)"
  }
}

Try it

Make one real paid call from your own wallet — about $0.005 on Base (eip155:8453). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods Fund and ETF Holdings accepts, and whether each reads or writes.
MethodEffect
GET /v1/healthread
GET /v1/versionread
POST /v1/fundread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "description": "A fund or ETF to look up.",
  "properties": {
    "query": {
      "type": "string",
      "description": "Fund or ETF name to search, e.g. S&P 500."
    }
  },
  "required": [
    "query"
  ]
}
Response schema
{
  "type": "object",
  "description": "For POST /v1/fund, a JSON object whose `filings` array carries the fund's portfolio holdings. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents."
}