> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bank Profile

> Look up whether a bank is an active FDIC-insured institution, where it is, who regulates it, when it was established and its reported assets and deposits.

Given a bank's name or its FDIC certificate number, return the matching institutions insured by the US Federal Deposit Insurance Corporation. Each has its name, certificate number, whether it is currently open and insured, city and state, primary federal regulator, charter class code, the date it was established, its website, and its total assets and total deposits in US dollars as of the reporting date. Use it to check that a bank is real, insured and still open. Give exactly one of `name` and `fdic_certificate`. A name is a text match, so similarly named banks come back too, best match first: tell them apart by the certificate number on each row, and prefer the certificate number when you have it, since it is an exact match. Closed institutions are included, with `active` false. `total` is the number of institutions that matched, which may be more than `limit`. No match is a completed result with `total` 0 and an empty list. Credit unions are not included.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

<ParamField body="name" type="string">
  The bank's name, 2 to 100 characters, for example Grasshopper Bank. A text match: similarly named banks are returned too. 2 to 100 characters.
</ParamField>

<ParamField body="fdic_certificate" type="integer">
  The FDIC certificate number, for example 59113. An exact match; preferred over a name. At least 1.
</ParamField>

<ParamField body="limit" type="integer">
  Most banks to return (1 to 10, default 5). From 1 to 10. Defaults to `5`.
</ParamField>

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

<ResponseField name="data.request_id" type="string">
  Durable job ID for audit and lookup
</ResponseField>

<ResponseField name="data.status" type="string">
  Job status: `completed`
</ResponseField>

<ResponseField name="data.tool" type="string">
  Always `company_bank_profile`
</ResponseField>

<ResponseField name="data.result" type="object">
  The answer, described under Result below
</ResponseField>

<ResponseField name="data.evidence" type="object">
  Where the answer came from and when
</ResponseField>

<ResponseField name="data.evidence.source" type="string">
  The public body the data comes from. Always `US Federal Deposit Insurance Corporation`.
</ResponseField>

<ResponseField name="data.evidence.source_kind" type="string">
  `public` when the data comes from a public body, `commercial` otherwise
</ResponseField>

<ResponseField name="data.evidence.retrieved_at" type="string">
  When the lookup was made, as an ISO 8601 UTC time
</ResponseField>

<ResponseField name="data.evidence.as_of" type="string">
  When the source says the fact was last updated, or `null` when the source gives no date
</ResponseField>

## Result

Nested under `data.result`.

<ResponseField name="data.result.total" type="integer">
  How many institutions matched in all; may be more than were returned.
</ResponseField>

<ResponseField name="data.result.banks" type="object[]">
  Matching institutions, best match first; empty when none match.
</ResponseField>

<ResponseField name="data.result.banks[].name" type="string">
  The institution's name as the source holds it. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].fdic_certificate" type="integer">
  The FDIC certificate number; use it to tell similarly named banks apart. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].active" type="boolean">
  True when the institution is currently open and insured by the FDIC.
</ResponseField>

<ResponseField name="data.result.banks[].city" type="string">
  City. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].state" type="string">
  Two-letter state code. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].regulator" type="string">
  Primary federal regulator code: OCC, FDIC, FED or STATE. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].charter_class" type="string">
  The FDIC institution class code, for example N for a national commercial bank. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].established_on" type="string">
  Date the institution began operations, YYYY-MM-DD. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].website" type="string">
  Website. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].total_assets_usd" type="number">
  Total assets in US dollars, as of `reported_on`. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].total_deposits_usd" type="number">
  Total deposits in US dollars, as of `reported_on`. `null` when the source gives no value.
</ResponseField>

<ResponseField name="data.result.banks[].reported_on" type="string">
  End date of the reporting period the assets and deposits are from, YYYY-MM-DD. `null` when the source gives no value.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://win.oneshotagent.com/v1/tools/lookup/company-bank-profile \
    -H "Content-Type: application/json" \
    -H "payment-signature: <base64 x402 payment>" \
    -d '{
      "fdic_certificate": 59113
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/company-bank-profile", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "payment-signature": paymentProof,
    },
    body: JSON.stringify({
      "fdic_certificate": 59113
    }),
  });
  ```

  ```typescript SDK theme={null}
  const result = await agent.tool('lookup/company-bank-profile', {
    fdic_certificate: 59113
  });
  console.log(result.data.result);
  console.log(result.data.evidence);
  ```
</RequestExample>

<ResponseExample>
  ```json Response (200) theme={null}
  {
    "success": true,
    "data": {
      "request_id": "uuid",
      "receipt_id": "rcpt_...",
      "status": "completed",
      "tool": "company_bank_profile",
      "result": {
        "total": 1,
        "banks": [
          {
            "name": "Grasshopper Bank, N.A.",
            "fdic_certificate": 59113,
            "active": true,
            "city": "New York",
            "state": "NY",
            "regulator": "OCC",
            "charter_class": "N",
            "established_on": "2019-05-13",
            "website": "www.grasshopper.bank",
            "total_assets_usd": 1603727000,
            "total_deposits_usd": 1436779000,
            "reported_on": "2026-06-30"
          }
        ]
      },
      "evidence": {
        "source": "US Federal Deposit Insurance Corporation",
        "source_kind": "public",
        "retrieved_at": "2026-10-13T12:00:00.000Z",
        "as_of": "2026-10-09T12:00:05Z"
      }
    }
  }
  ```
</ResponseExample>

<Info>Price: \$0.005 per lookup. See [Pricing](/pricing) for every tool.</Info>

## Notes

* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.