Skip to content
Mekler AIGet started

Mekler AI / Check CSV column rules with your AI assistant

Check CSV column rules with your AI assistant

3 free results per wallet. Signature required; no funding needed. Shared wallets share the allowance.

This is the manual setup reference. Give your AI a complete starter task instead →

Prepare a local trial client.

Run these commands in the terminal your assistant uses. The client is public source; review it before running. It creates an unfunded Base wallet only when you explicitly request one. Keep the private key file locally with owner-only permissions.

python3 -m venv .mekler-venv
.mekler-venv/bin/python -m pip install "x402==2.24.0" "eth-account==0.13.7" "signinwithethereum==5.0.1" "abnf==2.8.3"
curl -fSLo mekler-trial.py https://api.mekler.ai/clients/trial.py

Supply the input.

Save this JSON as request.json. Supply a requirements object with typed column rules. This checks the specification, not CSV data or natural-language instructions.

{
  "requirements": {
    "columns": [
      {
        "name": "id",
        "type": "string",
        "required": true,
        "unique": true
      },
      {
        "name": "amount",
        "type": "decimal",
        "required": true,
        "min": "0",
        "max": "100"
      }
    ],
    "min_rows": 1
  }
}

Create the unfunded trial wallet only once. If mekler-trial-wallet.key already exists, reuse it and run only the execution command below. Keep the same wallet across these walkthroughs.

Run a trial and keep its identity.

.mekler-venv/bin/python mekler-trial.py --new-wallet mekler-trial-wallet.key
.mekler-venv/bin/python mekler-trial.py --key-file mekler-trial-wallet.key --operation validateAcceptanceSpec --input request.json --request-id mekler-example-001

Use a new request ID for each new input; use the same ID and identical input to recover or retry. New wallets do not create a renewable entitlement: shared-wallet and paid-history rules apply. Never fund this trial wallet just to inspect a sample.

Understand the result.

The result contains the validated spec and an empty unsupported list. This confirms the supplied rules are supported; it does not validate a CSV or create rules from prose.

Expected result for this prepared input
{
  "schema_version": 1,
  "spec": {
    "columns": [
      {
        "name": "id",
        "type": "string",
        "required": true,
        "unique": true
      },
      {
        "name": "amount",
        "type": "decimal",
        "required": true,
        "min": "0",
        "max": "100"
      }
    ],
    "min_rows": 1
  },
  "unsupported": [],
  "boundary": "Typed requirements only; no natural-language interpretation."
}

Trial exhausted or unavailable?

The client returns the service error and stops. It never removes trial headers or falls back to payment. To use a paid service, inspect a fresh quote with a compatible payment client and explicitly authorize its budget. An unavailable offer does not mean you should create a replacement wallet.

Full service details, scope and price →