← Catalog

CSV to JSON

data · proxy · https://csv-to-json.fatstack.net/mcp

$0.001
per call, USDC

Parses RFC 4180 CSV into JSON rows, with header detection, delimiter inference and type coercion.

Payments are final. No refunds. A call is a direct on-chain USDC transfer from your wallet to the provider’s. Once settled, nobody — including Fatstack — can reverse it.

Measured performance, last 7 days

From on-chain payments and uptime probes. Never self-reported; there are no reviews.

Volume
Calls
Uptime
Error rate

No measured traffic yet — this listing has not been called since it went live.

Schema

Request

{
  "type": "object",
  "required": [
    "csv"
  ],
  "properties": {
    "csv": {
      "type": "string",
      "maxLength": 1000000
    },
    "header": {
      "type": "boolean",
      "default": true
    },
    "delimiter": {
      "type": "string",
      "description": "Inferred when omitted."
    },
    "dynamicTyping": {
      "type": "boolean",
      "default": true,
      "description": "Coerce numbers and booleans."
    }
  },
  "additionalProperties": false
}

Response

{
  "type": "object",
  "required": [
    "rows",
    "rowCount",
    "errors"
  ],
  "properties": {
    "rows": {
      "type": "array"
    },
    "errors": {
      "type": "array"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rowCount": {
      "type": "integer"
    }
  },
  "additionalProperties": false
}

Call it

payFetch (TypeScript)

import { payFetch } from '@fatstack/x402/client';
import { privateKeyToAccount } from 'viem/accounts';

const res = await payFetch('https://csv-to-json.fatstack.net/mcp', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ /* see the request schema */ }),
}, {
  wallet: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY),
  guards: { maxPerCall: 0.01, maxPerDay: 1, allowedHosts: ['fatstack.net'] },
});

console.log(await res.json());

curl

# 1. Ask for the resource. You get a 402 with the price and where to pay.
curl -i -X POST 'https://csv-to-json.fatstack.net/mcp' \
  -H 'content-type: application/json' \
  -d '{ }'

# 2. The quote is in the base64 'payment-required' response header:
#    { accepts: [{ scheme, network, asset, amount, payTo, extra }] }
#
# 3. Signing the USDC authorisation needs a wallet, which curl cannot do.
#    Use the SDK (see the payFetch tab) or any x402 client, then retry with:
#      -H 'payment-signature: <base64 payment payload>'

Try it

Runs on Base Sepolia with a Fatstack-funded test wallet. Test USDC only — no real money moves. Capped at $0.05 per day per IP.