eth_getCode — Base JSON-RPC
Return account bytecode at a block.
- Scope
- base:rpc
Endpoint and plans: Base RPC endpoint.
Parameter limits
| JSON path | Frozen limit | Source |
|---|---|---|
| — | unknown | No numeric parameter ceiling is frozen; enforce the declared schema shape and deny an unknown oversized/range profile. |
Parameter-dependent tier profiles from CAPABILITIES:
bounded_current_state_or_logs: minimumfree, budgetbase_read_rpc.historical_state_or_heavy_range_or_overrides: minimumpro, budgetbase_read_rpc_heavy; gate: verified per-provider depth/range/schema; null limit denies.
Historical block retrieval is not an archive-state guarantee. Selectors must be preserved; do not substitute pending, safe, or finalized with latest.
Rate limits and tier
These are enforced product-policy values, not measured upstream capacity or an SLA. Enterprise is finite, never physical “unlimited” capacity.
| Tier | Limit / access | Category |
|---|---|---|
| Free | 10 RPS sustained · up to 20 burst | base_read_rpc |
| Basic | 20 RPS sustained · up to 40 burst | base_read_rpc |
| Pro | 100 RPS sustained · up to 200 burst | base_read_rpc |
| Business | 250 RPS sustained · up to 500 burst | base_read_rpc |
| Enterprise | 250 RPS sustained · up to 500 burst | base_read_rpc |
See Base limits and Burst capacity. The included buffer refills at sustained RPS; there is no quota on the number of bursts.
Errors
| Code | Meaning here | Client action |
|---|---|---|
-32602 | Parameters fail the declared schema or upstream parser. | Fix the positional parameters; parser acceptance is not execution success. |
Tier and budget rejections are not JSON-RPC errors: the gate decides them before the request reaches the RPC layer and answers with a plain HTTP envelope — 403 tier_insufficient (with an X-Required-Tier header) or 429 rate_limited (honor Retry-After). Both are enforced product policy, not measured capacity or an SLA.
Authentication/transport failures use the shared client error envelope. See Base errors.
Evidence
- Fixture kind:
negative. - Fixture source:
infra-4-sety/integration-base/research/R00/import/originals/probe/bse_v4t4b_4337_retry.jsonat/cases/0/res/body. - Fixture SHA-256:
1197451042b647c323ccbd9aae9d5c620ec3c9ce23e509cd6cfc848f92377449. - Fixture registry:
infra-4-sety/integration-base/research/R00/import/FIXTURES_INDEX.json. - Semantic assertion: Truncated JSON body must fail full-response/code-hash eligibility.
- Evidence boundary: Replay only this bounded assertion; no provider calls or original Python execution. Metadata/response fragments can test rejection but cannot prove capability.
Limitations
- Availability is the frozen baseline, not deployed readiness. documented is the contract floor; evidence_kind retains unknown/source_summary.