82trust / 100

Crop Yield Ndvi

by space.halowerk.com in Weather & location

x402 APIPassing, checked 1 h ago

Computes mean NDVI and an ordinary least-squares daily NDVI trend, then applies yield = intercept + mean_coefficient×mean_NDVI + trend_coefficient×daily_trend. It does not derive NDVI from imagery, account for crop stage or weather, or provide an agronomically calibrated forecast unless the caller supplies valid coefficients.

POST https://space.halowerk.com/v1/crop-yield-ndvi

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
120 ms typical, 120 ms slowest 5%
Last check
1 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://space.halowerk.com/v1/crop-yield-ndvi" \
  -H "content-type: application/json" \
  -d '{"observations":[{"day_after_planting":30,"ndvi":0.38},{"day_after_planting":45,"ndvi":0.57},{"day_after_planting":60,"ndvi":0.68},{"day_after_planting":75,"ndvi":0.7}],"yield_intercept":1.2,"yield_per_daily_ndvi_trend":35,"yield_per_mean_ndvi":8.5,"yield_unit":"tonnes_per_hectare"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fspace.halowerk.com%2Fv1%2Fcrop-yield-ndvi
const res = await pay("https://space.halowerk.com/v1/crop-yield-ndvi", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"observations":[{"day_after_planting":30,"ndvi":0.38},{"day_after_planting":45,"ndvi":0.57},{"day_after_planting":60,"ndvi":0.68},{"day_after_planting":75,"ndvi":0.7}],"yield_intercept":1.2,"yield_per_daily_ndvi_trend":35,"yield_per_mean_ndvi":8.5,"yield_unit":"tonnes_per_hectare"}),
});
console.log(await res.json());

Example input

{
  "observations": [
    {
      "day_after_planting": 30,
      "ndvi": 0.38
    },
    {
      "day_after_planting": 45,
      "ndvi": 0.57
    },
    {
      "day_after_planting": 60,
      "ndvi": 0.68
    },
    {
      "day_after_planting": 75,
      "ndvi": 0.7
    }
  ],
  "yield_intercept": 1.2,
  "yield_per_daily_ndvi_trend": 35,
  "yield_per_mean_ndvi": 8.5,
  "yield_unit": "tonnes_per_hectare"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
1 h agoPassed402120 ms$0.003
6 h agoPassed402166 ms$0.003