# Halowerk Agri Fertilizer Map

> Halowerk Agri Fertilizer Map is a paid API for AI agents from agri.halowerk.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14).

Computes per-cell fertilizer application rates (N, P, K) by subtracting available soil nutrients from caller-supplied targets and dividing deficits by recovery fractions, returning per-hectare rates and area totals for each field cell.

## Facts

- Endpoint: POST https://agri.halowerk.com/v1/fertilizer-map
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-agri-fertilizer-map-58df2d68
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6bbAG5-W5Qg7wlSS03yeq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-agri-fertilizer-map-58df2d68 -d '<json body>'
```

Example prompt: For my 3 field zones — zone A (5 ha, available N=40, P=12, K=80 kg/ha), zone B (8 ha, available N=55, P=18, K=90 kg/ha), and zone C (3.5 ha, available N=30, P=8, K=70 kg/ha) — all with target N=120, P=40, K=150 kg/ha and recovery fractions of N=0.6, P=0.8, K=0.7, calculate the fertilizer rates I need to apply per hectare and the total kg needed for each zone.

## When to prefer this

Choose this endpoint when you have explicit soil-test nutrient availability values and agronomist-specified target levels per field cell and need a deterministic, arithmetic deficit-to-rate calculation with configurable recovery fractions and optional rate caps. It is not a crop-recommendation engine — prefer it when targets are already known and you need precise kg/ha quantities and area totals rather than agronomic advice or prescription generation.

## Known failure modes

- Missing required nutrient keys (nitrogen, phosphorus, potassium) in any cell's available or target objects returns a validation error
- Recovery fraction of zero or below minimum (0.01) causes rejection
- Cell area outside valid range (below 0.0001 or above 1,000,000 ha) causes rejection
- Submitting more than 10,000 cells in one request exceeds the array limit
- Nutrient values exceeding 100,000 kg/ha are rejected
- Payment not included or insufficient USDC triggers 402 Payment Required

## How this service works

For each field cell, subtracts measured available nutrient from a supplied target and divides positive deficits by an explicit recovery fraction. It reports per-hectare rates and area totals. It does not infer crop targets, validate laboratory samples, account for nutrient chemistry or constitute an agronomic application prescription.

## Output

Returns an array of per-cell results containing the cell ID, computed fertilizer application rate in kg/ha for each of nitrogen, phosphorus and potassium (capped at any supplied maximum), the raw deficit before recovery adjustment, and the total kg of each nutrient required for the full cell area. May also include field-level aggregate totals across all cells.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "cells": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "cell_id",
     "area_hectares",
     "available_kg_per_ha",
     "target_kg_per_ha"
    ],
    "properties": {
     "cell_id": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1
     },
     "area_hectares": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0.0001
     },
     "target_kg_per_ha": {
      "type": "object",
      "required": [
       "nitrogen",
       "phosphorus",
       "potassium"
      ],
      "properties": {
       "nitrogen": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       },
       "potassium": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       },
       "phosphorus": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       }
      },
      "additionalProperties": false
     },
     "available_kg_per_ha": {
      "type": "object",
      "required": [
       "nitrogen",
       "phosphorus",
       "potassium"
      ],
      "properties": {
       "nitrogen": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       },
       "potassium": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       },
       "phosphorus": {
        "type": "number",
        "maximum": 100000,
        "minimum": 0
       }
      },
      "additionalProperties": false
     }
    },
    "additionalProperties": false
   },
   "maxItems": 10000,
   "minItems": 1
  },
  "recovery_fraction": {
   "type": "object",
   "required": [
    "nitrogen",
    "phosphorus",
    "potassium"
   ],
   "properties": {
    "nitrogen": {
     "type": "number",
     "maximum": 1,
     "minimum": 0.01
    },
    "potassium": {
     "type": "number",
     "maximum": 1,
     "minimum": 0.01
    },
    "phosphorus": {
     "type": "number",
     "maximum": 1,
     "minimum": 0.01
    }
   },
   "additionalProperties": false
  },
  "maximum_rate_kg_per_ha": {
   "type": "object",
   "required": [
    "nitrogen",
    "phosphorus",
    "potassium"
   ],
   "properties": {
    "nitrogen": {
     "type": "number",
     "maximum": 100000,
     "minimum": 0
    },
    "potassium": {
     "type": "number",
     "maximum": 100000,
     "minimum": 0
    },
    "phosphorus": {
     "type": "number",
     "maximum": 100000,
     "minimum": 0
    }
   },
   "additionalProperties": false

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-agri-fertilizer-map-58df2d68/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agri.halowerk.com](https://www.zero.xyz/host/agri.halowerk.com/llms.txt)
