---
title: "Take-home comparison of the same pay as a W-2 employee vs a 1099 contractor — employee FICA vs self-employment tax (with the half-SE deduction) — and the higher contractor rate needed to match."
method: POST
path: "/v1/tax/1099-vs-w2"
tags: ["Payroll & tax"]
---

# Take-home comparison of the same pay as a W-2 employee vs a 1099 contractor — employee FICA vs self-employment tax (with the half-SE deduction) — and the higher contractor rate needed to match.

`POST /v1/tax/1099-vs-w2`

## Request

- Base URL: `` (relative, and it does not resolve against the document’s source URL)
- URL: `/v1/tax/1099-vs-w2`
- Auth: none declared

Take-home comparison of the same pay as a W-2 employee vs a 1099 contractor — employee FICA vs self-employment tax (with the half-SE deduction) — and the higher contractor rate needed to match.

Payment: x402 ($0.10 USDC on eip155:8453). Call unpaid to receive an HTTP 402 with requirements, then retry with the PAYMENT-SIGNATURE header. Method: W-2: pay - employeeFICA - fed tax on (pay - std); 1099: netProfit - SE tax - fed tax on (netProfit - halfSE - std); advantage + break-even rate uplift

## Request body

- object
  - `annualPay` number, required
  - `filingStatus` 'single' | 'mfj'
  - `businessExpenses` 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)
