# nodeproxy Agent Lock

> nodeproxy Agent Lock is a paid API for AI agents from nodeproxy-production.up.railway.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Distributed lock/idempotency primitive for multi-agent swarms: claim, release, or check a named lock with TTL to prevent double-processing of work items.

## Facts

- Endpoint: POST https://nodeproxy-production.up.railway.app/agent-lock
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nodeproxy-agent-lock-b712c6a2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PMSAV37qrunNCyD5J4Nob

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 nodeproxy-agent-lock-b712c6a2 -d '<json body>'
```

Example prompt: Claim a distributed lock on the work item 'invoice-processing-job-4821' with a 30-second TTL so no other agent picks it up while I'm working on it.

## When to prefer this

Use this endpoint when coordinating parallel agents or worker queues where exactly-once processing matters — e.g. job queues, webhook deduplication, scheduled task fanout, or any workflow where multiple agents may race to handle the same item. Prefer over database-level locking when agents are stateless microservices or ephemeral cloud functions with no shared DB access.

## Known failure modes

- Key already claimed by another agent — claim returns failure/null token
- Invalid or expired token on release — release fails with error
- TTL expires before release — lock auto-frees, agent must re-check
- Missing required 'key' field — validation error
- Invalid operation enum value — request rejected
- Network timeout — agent should retry with check to avoid re-claiming a live lock

## How this service works

Distributed lock / idempotency primitive for multi-agent swarms. claim(key) returns a token if free (with TTL); release(token) frees it; check(key) reports whether held. Stops multiple agents from double-processing the same work item.

## Output

For 'claim': returns a lock token (string) if the key was free and the lock was successfully acquired, or indicates failure if already held. For 'release': confirms the lock was freed. For 'check': returns whether the key is currently locked and by whom.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "arguments": {
   "type": "object",
   "required": [
    "key"
   ],
   "properties": {
    "op": {
     "enum": [
      "claim",
      "release",
      "check"
     ],
     "type": "string"
    },
    "key": {
     "type": "string",
     "description": "Lock key (work item identifier)."
    },
    "token": {
     "type": "string"
    },
    "ttl_seconds": {
     "type": "number"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nodeproxy-agent-lock-b712c6a2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nodeproxy-production.up.railway.app](https://www.zero.xyz/host/nodeproxy-production.up.railway.app/llms.txt)
