Skip to content

docs: Polygon post-Bor reference coverage (eth_getProof note, bor_* + getProof pages, decom dead trace_* pages)#577

Merged
akegaviar merged 1 commit into
mainfrom
docs/polygon-bor-refs-getproof-decom
Jul 23, 2026
Merged

docs: Polygon post-Bor reference coverage (eth_getProof note, bor_* + getProof pages, decom dead trace_* pages)#577
akegaviar merged 1 commit into
mainfrom
docs/polygon-bor-refs-getproof-decom

Conversation

@akegaviar

Copy link
Copy Markdown
Member

Post-cutover follow-up to #515. The Polygon Erigon→Bor migration completed 2026-07-23 (all Polygon traffic now served by Bor archive), so the Bor end-state is live and trace_transaction returns -32601 on Bor (verified).

Supersedes the stale draft #542 (which was 43 commits behind main). Rebuilt fresh on main, and — importantly — keeps callTracer as the trace_* migration target rather than flatCallTracer: flatCallTracer is still gated on Chainstack Polygon nodes (-32612 custom tracers disabled; the client migration didn't whitelist it). A separate PR will switch to flatCallTracer once Infra enables it for Polygon.

Changes

  • polygon-methods.mdx — add the eth_getProof ~128-block note (Bor serves proofs only for ~the latest 128 blocks; no historical proofs), as prose + a method-table annotation. Migration table stays on callTracer.
  • New reference pages (openapi + Try it), examples verified live against a Chainstack Polygon Bor node:
    • eth_getProof (Polygon was the only major chain missing a getproof page)
    • bor_getAuthor, bor_getCurrentProposer, bor_getCurrentValidators, bor_getRootHash, bor_getSignersAtHash (were in the availability table with no pages)
  • Decommission the dead trace_transaction / trace_block reference pages: delete the files, strip nav, remove their overview cards, and 301 to the debug_ equivalents.
  • New openapi group openapi/polygon_node_api/bor/.

Gates: mint broken-links ✅ · mint validate

…+ getProof pages, decom dead trace_* pages

Post-cutover (Polygon Erigon->Bor migration completed 2026-07-23) follow-up to #515.
Keeps callTracer as the trace_* migration target (flatCallTracer is still gated on
Chainstack Polygon nodes — deferred to a separate PR once it's whitelisted).

- polygon-methods.mdx: add the eth_getProof ~128-block note (prose + table annotation)
- new reference pages (openapi + Try-it): eth_getProof, and bor_getAuthor /
  bor_getCurrentProposer / bor_getCurrentValidators / bor_getRootHash /
  bor_getSignersAtHash (were in the availability table with no pages); examples
  verified live against a Chainstack Polygon Bor node
- decommission the dead trace_transaction / trace_block reference pages: delete the
  files, strip nav, remove their overview cards, 301 to the debug_ equivalents
- new openapi group openapi/polygon_node_api/bor/

Rebuilt fresh on main (the older #542 branch was 43 commits behind); flatCallTracer
switch dropped per the deployment reality.
@infra-bot-atlantis

Copy link
Copy Markdown
Error: This repo is not allowlisted for Atlantis.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added documentation and API specifications for Polygon Bor methods, including author, proposer, validator, root hash, and signer queries.
    • Added Polygon eth_getProof documentation and an OpenAPI specification.
    • Added navigation entries and redirects for the new Polygon reference pages.
  • Documentation

    • Clarified that Polygon eth_getProof supports proofs only for approximately the latest 128 blocks.
    • Removed unavailable Polygon trace_block and trace_transaction reference pages.

Walkthrough

Polygon API documentation now includes five Bor RPC methods and eth_getProof schemas and reference pages, updates Polygon navigation and availability notes, and removes unsupported trace references with redirects for legacy routes.

Changes

Polygon API documentation

Layer / File(s) Summary
Bor RPC method contracts and reference pages
openapi/polygon_node_api/bor/*, reference/polygon-borget*.mdx, docs.json
Added OpenAPI specifications and reference pages for five Bor RPC methods, then linked the new pages in Polygon node API navigation.
eth_getProof specification and availability documentation
openapi/polygon_node_api/account_info/eth_getProof.json, reference/polygon-getproof.mdx, docs/polygon-methods.mdx, docs.json
Added the OpenAPI contract and reference page for eth_getProof, documented Bor’s latest-approximately-128-block limitation, and added the page to navigation.
Trace reference cleanup and redirects
reference/polygon-debug-trace-rpc-methods.mdx, reference/polygon-trace_*.mdx, docs.json
Removed unsupported trace entries and pages, and added redirects for the legacy trace routes.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

Hop-hop, new Bor pages bloom,
Proofs now tell their bounded room.
Old trace paths softly turn,
Fresh API schemas brightly burn.
A rabbit cheers: docs now zoom!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main docs update: Polygon post-Bor reference coverage, new bor/getProof pages, and removal of dead trace_* pages.
Description check ✅ Passed The description is clearly aligned with the PR and explains the Polygon Bor migration, new docs, and deprecated trace_* removals.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/polygon-bor-refs-getproof-decom

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
docs.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

openapi/polygon_node_api/account_info/eth_getProof.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

openapi/polygon_node_api/bor/bor_getAuthor.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

  • 4 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@akegaviar
akegaviar merged commit d8535c6 into main Jul 23, 2026
0 of 2 checks passed
@akegaviar
akegaviar deleted the docs/polygon-bor-refs-getproof-decom branch July 23, 2026 08:35
@mintlify

mintlify Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
chainstack 🔴 Failed Jul 23, 2026, 8:35 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openapi/polygon_node_api/account_info/eth_getProof.json`:
- Around line 15-20: Update the eth_getProof OpenAPI operation metadata near the
summary and operationId to add a description documenting Bor’s proof-retention
limit of approximately the latest 128 blocks, consistent with the existing
polygon-methods documentation.
- Around line 8-14: Remove the concrete server URL and opaque access path from
the OpenAPI document, revoke or rotate the exposed endpoint credential, and
replace both values with the repository’s endpoint injection mechanism or
appropriate placeholders such as YOUR_API_KEY. Preserve the documented API
structure while ensuring no secret or internal infrastructure detail remains
committed.

In `@openapi/polygon_node_api/bor/bor_getAuthor.json`:
- Around line 16-18: Replace the "Ethereum Operations" tag with a consistent
Bor-specific tag in bor_getAuthor.json, bor_getCurrentProposer.json,
bor_getCurrentValidators.json, bor_getRootHash.json, and
bor_getSignersAtHash.json so all Bor methods are grouped separately from
standard Ethereum RPC operations.
- Around line 46-54: Enforce exact params array lengths in bor_getAuthor.json
(lines 46-54) with one string, bor_getCurrentProposer.json (lines 46-49) with
zero items, bor_getCurrentValidators.json (lines 46-49) with zero items,
bor_getRootHash.json (lines 46-55) with exactly two integers, and
bor_getSignersAtHash.json (lines 46-54) with one string; add the appropriate
array length constraints while preserving each existing item type and default.

In `@reference/polygon-borgetauthor.mdx`:
- Around line 20-30: Convert the Bor reference pages from plain Markdown and raw
JSON to the required reference components. In reference/polygon-borgetauthor.mdx
lines 20-30, use ParamField, ResponseField, RequestExample, and ResponseExample;
apply the same request/response conversion plus error and authentication
examples in reference/polygon-borgetcurrentproposer.mdx lines 20-30,
reference/polygon-borgetcurrentvalidators.mdx lines 20-34,
reference/polygon-borgetroothash.mdx lines 20-31, and
reference/polygon-borgetsignersathash.mdx lines 20-30, using
ResponseField/Expandable for the nested validator response and documenting each
page’s parameters and response structure.

In `@reference/polygon-getproof.mdx`:
- Around line 28-47: Update the eth_getProof reference in the Parameters and
Response sections to use ParamField and ResponseField components for every
documented field, preserving the existing descriptions and nesting. Add
RequestExample and ResponseExample blocks covering a successful JSON-RPC
request/response and a JSON-RPC error response.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a48ae0c6-0c75-40f4-a4a1-60963f6ce8df

📥 Commits

Reviewing files that changed from the base of the PR and between 0f37174 and b7f1ade.

📒 Files selected for processing (17)
  • docs.json
  • docs/polygon-methods.mdx
  • openapi/polygon_node_api/account_info/eth_getProof.json
  • openapi/polygon_node_api/bor/bor_getAuthor.json
  • openapi/polygon_node_api/bor/bor_getCurrentProposer.json
  • openapi/polygon_node_api/bor/bor_getCurrentValidators.json
  • openapi/polygon_node_api/bor/bor_getRootHash.json
  • openapi/polygon_node_api/bor/bor_getSignersAtHash.json
  • reference/polygon-borgetauthor.mdx
  • reference/polygon-borgetcurrentproposer.mdx
  • reference/polygon-borgetcurrentvalidators.mdx
  • reference/polygon-borgetroothash.mdx
  • reference/polygon-borgetsignersathash.mdx
  • reference/polygon-debug-trace-rpc-methods.mdx
  • reference/polygon-getproof.mdx
  • reference/polygon-trace_block.mdx
  • reference/polygon-trace_transaction.mdx
💤 Files with no reviewable changes (3)
  • reference/polygon-trace_transaction.mdx
  • reference/polygon-trace_block.mdx
  • reference/polygon-debug-trace-rpc-methods.mdx

Comment on lines +8 to +14
"servers": [
{
"url": "https://nd-828-700-214.p2pify.com"
}
],
"paths": {
"/a9bca2f0f84b54086ceebe590316fff3": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Remove and rotate the exposed endpoint credential.

This publishes a concrete node URL and opaque access path in a public OpenAPI document. Revoke/rotate it, then use the repository’s endpoint injection mechanism or placeholders such as YOUR_API_KEY.

As per coding guidelines, public content must “never include secrets, internal infrastructure details,” and must use placeholders for secrets.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi/polygon_node_api/account_info/eth_getProof.json` around lines 8 - 14,
Remove the concrete server URL and opaque access path from the OpenAPI document,
revoke or rotate the exposed endpoint credential, and replace both values with
the repository’s endpoint injection mechanism or appropriate placeholders such
as YOUR_API_KEY. Preserve the documented API structure while ensuring no secret
or internal infrastructure detail remains committed.

Source: Coding guidelines

Comment on lines +15 to +20
"post": {
"tags": [
"Ethereum Operations"
],
"summary": "eth_getProof",
"operationId": "eth_getProof",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Document Bor’s proof-retention limit in the OpenAPI operation.

The standalone contract does not disclose that proofs are available only for roughly the latest 128 blocks, while docs/polygon-methods.mdx lines 21-22 do. Add this constraint to the operation description so generated API clients and Try-it users do not attempt unsupported historical queries.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi/polygon_node_api/account_info/eth_getProof.json` around lines 15 -
20, Update the eth_getProof OpenAPI operation metadata near the summary and
operationId to add a description documenting Bor’s proof-retention limit of
approximately the latest 128 blocks, consistent with the existing
polygon-methods documentation.

Comment on lines +16 to +18
"tags": [
"Ethereum Operations"
],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Files in openapi/polygon_node_api/bor:"
git ls-files 'openapi/polygon_node_api/bor/*.json' | sort

echo
echo "Tag lines for Bor operation files:"
python3 - <<'PY'
import json, pathlib
root = pathlib.Path('openapi/polygon_node_api/bor')
for p in sorted(root.glob('*.json')):
    try:
        data = json.loads(p.read_text())
    except Exception as e:
        print(f"{p}: parse error {e}")
        continue
    if "tags" in data:
        for line_no in range(1, min(len(p.read_text().splitlines()), 40)+1):
            if '"tags"' in p.read_text().splitlines()[line_no-1]:
                pass
    print(f"{p}: tags={data.get('tags')}")
PY

echo
echo "OpenAPI tag definitions across polygon_node_api / openapi (if present):"
rg -n '"tags":|^- name:|tags:' openapi -g '*.json' -g '*.yaml' -g '*.yml' | head -200

Repository: chainstack/dev-portal

Length of output: 16534


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Search for specific current tag in Bor files and broader occurrences:"
rg -n '"Ethereum Operations"|tags|name:' openapi/polygon_node_api/bor openapi/polygon* eth ethereum -g '*.json' -g '*.yaml' -g '*.yml' 2>/dev/null | head -50 || true

echo
echo "One Bor file top block:"
cat -n openapi/polygon_node_api/bor/bor_getAuthor.json | sed -n '1,80p'

echo
echo "Count exact current tag in repo JSON:"
rg -n '"Ethereum Operations"' -g '*.json' . | wc -l

Repository: chainstack/dev-portal

Length of output: 7249


Use a Bor-native tag for Polygon Bor operations.

These Bor methods are currently grouped under "Ethereum Operations" just like standard Eth RPC calls. Apply a Bor-specific tag consistently across the Bor files so they don’t get mixed into the Ethereum RPC section.

📍 Affects 5 files
  • openapi/polygon_node_api/bor/bor_getAuthor.json#L16-L18 (this comment)
  • openapi/polygon_node_api/bor/bor_getCurrentProposer.json#L16-L18
  • openapi/polygon_node_api/bor/bor_getCurrentValidators.json#L16-L18
  • openapi/polygon_node_api/bor/bor_getRootHash.json#L16-L18
  • openapi/polygon_node_api/bor/bor_getSignersAtHash.json#L16-L18
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi/polygon_node_api/bor/bor_getAuthor.json` around lines 16 - 18,
Replace the "Ethereum Operations" tag with a consistent Bor-specific tag in
bor_getAuthor.json, bor_getCurrentProposer.json, bor_getCurrentValidators.json,
bor_getRootHash.json, and bor_getSignersAtHash.json so all Bor methods are
grouped separately from standard Ethereum RPC operations.

Source: MCP tools

Comment on lines +46 to +54
"params": {
"type": "array",
"default": [
"0x561294b"
],
"items": {
"type": "string"
}
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Files matching bor RPC OpenAPI params:\n'
git ls-files 'openapi/polygon_node_api/bor/*.json' | sort

printf '\nOpenAPI param snippets:\n'
for f in $(git ls-files 'openapi/polygon_node_api/bor/*.json' | sort); do
  echo "--- $f"
  rg -n -C 3 '"params"' "$f" || true
done

printf '\nReference docs matching bor rpc parameter sections:\n'
git ls-files 'reference/*bor*.mdx' 'reference/polygon-bor*.mdx' | sort | sed -n '1,80p'

Repository: chainstack/dev-portal

Length of output: 3654


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import json, pathlib, re

base = pathlib.Path("openapi/polygon_node_api/bor")
docs = {
    "reference/polygon-borgetauthor.mdx": "GET_AUTHOR",
    "reference/polygon-borgetcurrentproposer.mdx": "GET_CURRENT_PROPOSER",
    "reference/polygon-borgetcurrentvalidators.mdx": "GET_CURRENT_VALIDATORS",
    "reference/polygon-borgetroothash.mdx": "GET_ROOT_HASH",
    "reference/polygon-borgetsignersathash.mdx": "GET_SIGNERS_AT_HASH",
}
patterns = {
    "GET_AUTHOR": [re.compile(r"params:\s*.block.*\n\s*type:\s*string", re.S)],
    "GET_CURRENT_PROPOSER": [re.compile(r"params:\s*—\n.*blocks\s*.*\n\s*type:\s*array", re.S), re.compile(r"params:\s*—\n", re.S)],
    "GET_CURRENT_VALIDATORS": [re.compile(r"params:\s*—\n.*blocks\s*.*\n\s*type:\s*array", re.S), re.compile(r"params:\s*—\n", re.S)],
    "GET_ROOT_HASH": [re.compile(r"params:\s*•.*fromIndex\s*\n.*integer", re.S), re.compile(r"params:\s*•.*toIndex\s*\n.*integer", re.S)],
    "GET_SIGNERS_AT_HASH": [re.compile(r"params:\s*•.*block.*hash.*\n\s*type:\s*string", re.S)],
}

for json_path in sorted(base.glob("*.json")):
    data = json.loads(json_path.read_text())
    params = data["components"]["schemas"]["RequestBody"]["properties"]["params"]
    # Extract constraints only present
    constraints = {}
    for k in ("type","minItems","maxItems","enum","items"):
        if k in params:
            constraints[k] = params[k]
    name = json_path.stem
    print(f"{json_path}: {constraints}")

print("\nReference doc param-count evidence:")
for doc_path, key in docs.items():
    text = pathlib.Path(doc_path).read_text(errors="replace")
    print(f"\n--- {doc_path}")
    count = 0
    # Show context around "params" heading for no-parameter docs
    if "GET_CURRENT_PROPOSER" in key or "GET_CURRENT_VALIDATORS" in key:
        # look for methods table params section by counting param rows if available
        for m in re.finditer(r"(Get Current Proposer|Get Current Validators)", text):
            start=max(0,m.start()-200); end=min(len(text), m.start()+1600)
            sec=text[start:end]; print(sec[:2200])
            rows=sec.count("- `blocks`")
            print("blocks rows:", rows)
    else:
        for m in re.finditer(r"^\s*####\s*Params", text, re.M):
            sec=text[m.start():]
            # count explicit params starting with leading bullets/dashes/numbers
            rows = re.findall(r"^[\s]*(?:•|-|\d+)\s", sec.splitlines(True)[1:12], re.M)
            print(sec[:2200])
            print("rows:", rows)
            break
PY

Repository: chainstack/dev-portal

Length of output: 256


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import json, pathlib, re

for json_path in sorted(pathlib.Path("openapi/polygon_node_api/bor").glob("*.json")):
    data = json.loads(json_path.read_text())
    def walk(obj, path=""):
        if isinstance(obj, dict):
            if obj.get("type") == "array" and "params" in path:
                print(f"{json_path}:{path}")
                for k in ("type","minItems","maxItems","enum","items"):
                    if k in obj:
                        print("  ", k, ":", obj[k])
            for k,v in obj.items():
                walk(v, f"{path}.{k}")
        elif isinstance(obj, list):
            for i,v in enumerate(obj):
                walk(v, f"{path}[{i}]")
    walk(data)
PY

printf '\nDocument params sections for no-param methods:\n'
for f in reference/polygon-borgetcurrentproposer.mdx reference/polygon-borgetcurrentvalidators.mdx; do
  echo "--- $f"
  sed -n '1,220p' "$f" | rg -C 8 'Params|`params`|blocks|type:' || true
done

printf '\nDocument params sections for single/two-param methods:\n'
for f in reference/polygon-borgetauthor.mdx reference/polygon-borgetroothash.mdx reference/polygon-borgetsignersathash.mdx; do
  echo "--- $f"
  sed -n '1,240p' "$f" | rg -C 6 'Params|`params`|block hash|fromIndex|toIndex|type:' || true
done

echo 'json:'
python3 - <<'PY'
import json, pathlib, re

for json_path in sorted(pathlib.Path("openapi/polygon_node_api/bor").glob("*.json")):
    data = json.loads(json_path.read_text())
    print(json_path.name, json.dumps(data.get("params") or data.get("requestBody", {}).get("content", {}).get("application/json", {}).get("schema", {}), indent=2))
PY

Repository: chainstack/dev-portal

Length of output: 2939


Enforce exact Bor RPC parameter counts.

These schemas currently only declare type: array and items, so the generated request contracts accept any-length params arrays even though the docs only document the exact Bor API signatures.

  • bor_getAuthor: require exactly one string.
  • bor_getCurrentProposer: require zero parameters.
  • bor_getCurrentValidators: require zero parameters.
  • bor_getRootHash: require exactly two integers.
  • bor_getSignersAtHash: require exactly one string.
📍 Affects 5 files
  • openapi/polygon_node_api/bor/bor_getAuthor.json#L46-L54 (this comment)
  • openapi/polygon_node_api/bor/bor_getCurrentProposer.json#L46-L49
  • openapi/polygon_node_api/bor/bor_getCurrentValidators.json#L46-L49
  • openapi/polygon_node_api/bor/bor_getRootHash.json#L46-L55
  • openapi/polygon_node_api/bor/bor_getSignersAtHash.json#L46-L54
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi/polygon_node_api/bor/bor_getAuthor.json` around lines 46 - 54,
Enforce exact params array lengths in bor_getAuthor.json (lines 46-54) with one
string, bor_getCurrentProposer.json (lines 46-49) with zero items,
bor_getCurrentValidators.json (lines 46-49) with zero items,
bor_getRootHash.json (lines 46-55) with exactly two integers, and
bor_getSignersAtHash.json (lines 46-54) with one string; add the appropriate
array length constraints while preserving each existing item type and default.

Comment on lines +20 to +30
## Parameters

* `block` — the block number in hexadecimal (for example, `0x561294b`), or a block hash.

## Response

* `result` — the address of the validator that authored the block.

```json
{ "jsonrpc": "2.0", "id": 1, "result": "0x0e94b9b3fabd95338b8b23c36caae1d640e1339f" }
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Bring all Bor reference pages into the required reference format.

Each page uses plain Markdown bullets and raw JSON instead of the required reference components, and each omits error and authentication examples.

  • reference/polygon-borgetauthor.mdx#L20-L30: convert the block parameter and response to <ParamField>, <ResponseField>, <RequestExample>, and <ResponseExample>.
  • reference/polygon-borgetcurrentproposer.mdx#L20-L30: represent the no-parameter request and response with the required components and add error/authentication examples.
  • reference/polygon-borgetcurrentvalidators.mdx#L20-L34: represent the nested validator response with <ResponseField>/<Expandable> and add request, error, and authentication examples.
  • reference/polygon-borgetroothash.mdx#L20-L31: convert the two parameters and response to the required components and add error/authentication examples.
  • reference/polygon-borgetsignersathash.mdx#L20-L30: convert the hash parameter and signer-array response to the required components and add error/authentication examples.

As per coding guidelines, API reference pages must document all parameters with <ParamField>, describe response structures with <ResponseField>, include success and error examples, and include authentication examples; API examples must use <RequestExample> and <ResponseExample>.

📍 Affects 5 files
  • reference/polygon-borgetauthor.mdx#L20-L30 (this comment)
  • reference/polygon-borgetcurrentproposer.mdx#L20-L30
  • reference/polygon-borgetcurrentvalidators.mdx#L20-L34
  • reference/polygon-borgetroothash.mdx#L20-L31
  • reference/polygon-borgetsignersathash.mdx#L20-L30
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@reference/polygon-borgetauthor.mdx` around lines 20 - 30, Convert the Bor
reference pages from plain Markdown and raw JSON to the required reference
components. In reference/polygon-borgetauthor.mdx lines 20-30, use ParamField,
ResponseField, RequestExample, and ResponseExample; apply the same
request/response conversion plus error and authentication examples in
reference/polygon-borgetcurrentproposer.mdx lines 20-30,
reference/polygon-borgetcurrentvalidators.mdx lines 20-34,
reference/polygon-borgetroothash.mdx lines 20-31, and
reference/polygon-borgetsignersathash.mdx lines 20-30, using
ResponseField/Expandable for the nested validator response and documenting each
page’s parameters and response structure.

Source: Coding guidelines

Comment on lines +28 to +47
## Parameters

* `address` — the address of the account to prove.
* `storageKeys` — an array of 32-byte storage slot keys to prove. Pass an empty array to prove the account only.
* `block` — the block number in hexadecimal, or one of `earliest`, `latest`, or `pending`. Defaults to `latest`.

## Response

* `result` — an object with the account proof and state values:
+ `address` — the account address.
+ `accountProof` — an array of RLP-encoded Merkle-trie nodes proving the account against the block state root.
+ `balance` — the account balance, in hexadecimal wei.
+ `codeHash` — the hash of the account's contract code; for a non-contract (EOA) account this is the Keccak-256 hash of empty code.
+ `nonce` — the account nonce, in hexadecimal.
+ `storageHash` — the root hash of the account storage trie.
+ `storageProof` — an array of objects, one per requested `storageKeys` entry, each with the `key`, its `value`, and the `proof` (RLP-encoded trie nodes).

## Use case

`eth_getProof` is used by light clients, cross-chain bridges, and auditing tools that need cryptographic proof of an account or storage value at a specific block without syncing the full Polygon state.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Use the required API reference components and examples.

Replace the parameter and response lists with <ParamField> and <ResponseField>, and add <RequestExample> plus <ResponseExample> blocks for successful and JSON-RPC error responses.

As per coding guidelines, “API reference pages must document all parameters with <ParamField>, describe response structures with <ResponseField>, [and] include success and error examples.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@reference/polygon-getproof.mdx` around lines 28 - 47, Update the eth_getProof
reference in the Parameters and Response sections to use ParamField and
ResponseField components for every documented field, preserving the existing
descriptions and nesting. Add RequestExample and ResponseExample blocks covering
a successful JSON-RPC request/response and a JSON-RPC error response.

Source: Coding guidelines

@mintlify

mintlify Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
chainstack 🟡 Building Jul 23, 2026, 8:32 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant