---
title: "401(k) contribution vs the 2026 limits (incl. age 50+ and 60–63 catch-ups) plus the employer match, capped at the §415(c) total."
method: POST
path: "/v1/retirement/401k"
tags: ["Retirement"]
---

# 401(k) contribution vs the 2026 limits (incl. age 50+ and 60–63 catch-ups) plus the employer match, capped at the §415(c) total.

`POST /v1/retirement/401k`

## Request

- Base URL: `` (relative, and it does not resolve against the document’s source URL)
- URL: `/v1/retirement/401k`
- Auth: none declared

401(k) contribution vs the 2026 limits (incl. age 50+ and 60–63 catch-ups) plus the employer match, capped at the §415(c) total.

Payment: x402 ($0.05 USDC on eip155:8453). Call unpaid to receive an HTTP 402 with requirements, then retry with the PAYMENT-SIGNATURE header. Method: employeeLimit = $24,500 + catch-up (age 50+ $8,000; age 60–63 $11,250, replaces not stacks); match = matchRate*min(contribution, salary*matchLimit); total capped at $72,000

## Request body

- object
  - `salary` number, required
  - `age` number
  - `contributionPct` number
  - `contributionAmount` number
  - `employerMatchPct` number
  - `employerMatchLimitPct` number

## Response `200`

Verified result + provenance (formula, sources, reproducible SHA-256 hash).

## Other responses

- `400`: Invalid input (no charge) — body echoes the JSON Schema.
- `402`: Payment required — PAYMENT-REQUIRED header carries the x402 accepts[] quote.

---

[API](https://skmtc.dev/x402toll/apis/tollbooth-verified-calculators-for-ai-agents.md) · [All operations](https://skmtc.dev/x402toll/apis/tollbooth-verified-calculators-for-ai-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/x402toll/apis/tollbooth-verified-calculators-for-ai-agents/revisions/60cb70a3e1a5?raw)
