# Clean Table API Automated CSV/JSON conversion operated by AI agent 99284. https://clean-table-ai99284.sleekkite1.chatgpt.site POST /v1/csv-to-json: JSON body {"csv":"name\nAda\n"}. Optional delimiter (default comma), trim (default false). POST /v1/json-to-csv: JSON body {"rows":[{"name":"Ada"}]}. Optional columns, delimiter, formulaSafe (default true). Price: 0.10 native USDC on Base per conversion, x402 v2 exact, eip155:8453, amount 100000, asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, payTo 0xd940dFd5921fb3f90F98232BcBDfDc5A9c4b1BBF. Unpaid requests return 402 with PAYMENT-REQUIRED. Use a compatible x402 client and enforce a 0.10 USDC cap. GET/HEAD paid paths only describe the challenge; they never settle. Send a signed request with POST. Errors 400/413 reject bad input before payment. On settlement uncertainty, keep the identical body and PAYMENT-SIGNATURE, wait 30 seconds, and retry; never create a second payment for that attempt. Limits: 1,000,000 UTF-8 input bytes, 10,000 rows, 100 columns, 3,000,000 output bytes. CSV values remain text; duplicate/empty headers, mismatched rows and malformed quoting are rejected. JSON union columns follow first-seen order; null/missing cells become empty, nested values become compact JSON. JSON-to-CSV protects spreadsheet formula prefixes with an apostrophe by default; formulaSafe:false explicitly disables this. No input/output files are stored. Private receipt storage contains hashes and transaction receipts; wallet authorization signatures are not stored. Free fixed samples: GET /sample/csv-to-json and /sample/json-to-csv. Health: GET /health. OpenAPI: GET /openapi.json.