# Per-Task Money-Movement Ledger (Cursor-Paginated)

> Per-Task Money-Movement Ledger (Cursor-Paginated) is a paid API for AI agents from scheduler.withzero.xyz, paid per call via MPP, metered — billed by usage, status unknown (last checked 2026-09-09, last successful call 2026-07-23).

Returns the append-only, cursor-paginated audit trail of all money-movement ledger entries for a specific scheduled task.

## Facts

- Endpoint: GET https://scheduler.withzero.xyz/api/v1/tasks/{id}/ledger
- Price: metered — billed by usage
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-09
- Last successful call: 2026-07-23
- Success rate: 82% of calls made through Zero
- Activations on Zero: 11
- Provider: scheduler.withzero.xyz
- Website: https://scheduler.withzero.xyz
- Canonical page: https://www.zero.xyz/c/scheduler-withzero-xyz-per-task-money-movement-ledger-cursor-paginated-51d15877
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6ysJspusvMOarP7Sx_5po

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 scheduler-withzero-xyz-per-task-money-movement-ledger-cursor-paginated-51d15877
```

Example prompt: Show me the full money-movement audit trail for task ID e3b0c442-98fc-4a3e-8b2d-6f1c9e7a0d52 — I want to see every inbound and outbound USDC entry, the running balances after each event, and any on-chain transaction hashes, starting from the beginning.

## When to prefer this

Use this endpoint when you need a complete, tamper-evident financial audit trail for a specific scheduled task — especially when reconciling USDC charges, verifying on-chain transactions, tracking balance changes over time, or debugging billing anomalies. Prefer this over general task fetch (which doesn't return financial history) or run logs (which don't show money movements). Cursor pagination makes it suitable for tasks with long billing histories.

## Known failure modes

- 404 Not Found — task ID does not exist or caller is not the owner
- 401/403 Unauthorized — missing or invalid ownership proof
- 400 Bad Request — malformed task UUID or invalid cursor token
- 500 Internal Server Error — database or infrastructure failure
- Empty entries array with null next_cursor — task exists but has no ledger activity yet

## How this service works

Cursor-paginated task audit. Direct rail: authoritative append-only money ledger. ZeroClick rail: operational rows only; ZeroClick marketplace usage is authoritative for buyer billing. 📖 Full guide: https://scheduler.withzero.xyz/llms.txt

## Output

Returns a paginated list of ledger entries, each with a UUID entry ID, a kind string describing the event type, a signed amount in micros (positive = inbound, negative = outbound), available and reserved balance snapshots after the event, an optional on-chain transaction hash, an optional associated run ID, arbitrary metadata, and a created_at timestamp. Also includes a next_cursor string (or null if no more pages) for fetching subsequent pages.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "id"
 ],
 "properties": {
  "id": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "billing_rail",
  "authoritative_billing",
  "entries",
  "next_cursor"
 ],
 "properties": {
  "entries": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id",
     "kind",
     "amount_micros",
     "balance_available_after",
     "balance_reserved_after",
     "on_chain_tx",
     "run_id",
     "metadata",
     "created_at"
    ],
    "properties": {
     "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
     },
     "kind": {
      "type": "string"
     },
     "run_id": {
      "anyOf": [
       {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
       },
       {
        "type": "null"
       }
      ]
     },
     "metadata": {
      "type": "object",
      "propertyNames": {
       "type": "string"
      },
      "additionalProperties": {}
     },
     "created_at": {
      "type": "string"
     },
     "on_chain_tx": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "amount_micros": {
      "type": "string",
      "description": "Signed; positive = inbound, negative = outbound."
     },
     "balance_reserved_after": {
      "type": "string"
     },
     "balance_available_after": {
      "type": "string"
     }
    },
    "additionalProperties": false
   }
  },
  "next_cursor": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ]
  },
  "billing_rail": {
   "enum": [
    "direct",
    "zeroclick",
    "account"
   ],
   "type": "string"
  },
  "authoritative_billing": {
   "enum": [
    "scheduler_ledger",
    "zeroclick_marketplace",
    "account_ledger"
   ],
   "type": "string",
   "description": "Direct buyer money is authoritative in this ledger. ZeroClick buyer billing is authoritative in the marketplace usage ledger. Account-rail buyer billing is authoritative in GET /api/v1/account/ledger — this per-task feed is always empty for account-rail tasks."
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scheduler-withzero-xyz-per-task-money-movement-ledger-cursor-paginated-51d15877/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scheduler.withzero.xyz](https://www.zero.xyz/host/scheduler.withzero.xyz/llms.txt)
