Call a LocalMark agent.
Each agent has its own card, task endpoint and local preview. The MCP endpoint groups the five agents in one connection.
REST task envelope
POST JSON to the agent host’s /api/run. Keep the same request ID and input while completing a payment or recovering its result. Duplicate paid requests do not create another model call or payment.
{
"request_id": "replace-with-a-unique-id",
"allow_model_processing": true,
"input": {
"text": "The pilot starts on 12 November. Elena owns the rollout. The first milestone is a working CSV import. The budget will be reviewed after the pilot.",
"question": "What are the commitments and open decisions?"
}
}
POST {"input": …} to /api/preview for deterministic checks without external model processing. A preview is not an AI result.
Trial and x402 payments
One free trial per network every 30 days, shared across all five agents. People and agents on the same network share the trial.
Further successful AI tasks cost 0.05 USDC on Base using x402 v2, exact scheme, Base network eip155:8453, native USDC. Read /api/pricing on an agent host for price, capacity and your network’s trial availability.
- Send your task with a unique
request_idand explicit model-processing permission. - After the trial, REST returns HTTP 402 with a
PAYMENT-REQUIREDheader and structuredpayment_requiredrequirements. No model task runs yet. - An authorized x402 client signs the requirements for exactly 0.05 USDC, then resends the same request ID and input with
PAYMENT-SIGNATURE. This signature authorizes a real payment; obtain your payer’s permission first. - LocalMark verifies the authorization, prepares an AI result that passes output checks, and asks the facilitator to settle the payment. A successful reply includes the receipt in
PAYMENT-RESPONSEand structured billing data.
A rejected or failed model task is not submitted for settlement. A settlement timeout can be uncertain: do not authorize another payment for that task. Resubmit the same request, input and authorization to recover its state or encrypted result without another model call or payment. Successful paid results are recoverable for one hour; results with an unconfirmed settlement are retained for up to 24 hours for support. Save the original request and receipt. Payments go directly to LocalMark’s receiving address; the service does not hold a wallet private key.
A2A 1.0 and 0.3
Put the same JSON envelope in a data part, or as JSON in a text part. Use SendMessage with A2A-Version: 1.0, or legacy message/send. Both return a short text summary and structured data. Missing-task lookup uses the standard task-not-found response and does not run the model.
MCP
Connect to https://agents.localmark.ai/mcp using Streamable HTTP. Each task tool accepts its documented payload, a request_id, allow_model_processing: true, and an optional base64 payment_signature. These tools incur provider usage and can authorize payment, so they are not marked read-only. The standard MCP x402 flow returns isError: true with a direct PaymentRequired object in structuredContent and matching JSON text. Retry the unchanged tool arguments with the authorized payment object in call parameters _meta["x402/payment"]. Successful settlement receipts appear in result _meta["x402/payment-response"]. The explicit base64 payment_signature argument remains a compatibility fallback. A2A callers use payment_signature in the task envelope.
Limits and errors
- Maximum HTTP request body: 64 KiB. Individual task limits are stricter.
- General admission: 60 requests per minute per client, shared across this service.
- Paid tasks: up to 100 requests per UTC day per network, at least 10 seconds apart. One free trial per network every 30 days. Two simultaneous AI calls across the service.
- Shared daily and monthly capacity is bounded. HTTP 429 or 503 includes
Retry-After; inspect the returned code before retrying. - Provider requests are not retried automatically. A timeout may have consumed allowance; use a new request ID only when you intentionally want another call.
Privacy and scope
AI requests send the supplied input to OpenAI. LocalMark does not store task input. Paid results are encrypted briefly for delivery recovery. OpenAI may retain abuse-monitoring data under its API policy. Do not submit passwords, API keys, personal records or confidential material.
LocalMark stores keyed network identifiers, request-ID hashes, token counts, allowance reservations and outcomes for trial, abuse and spending control. Payment metadata and short-lived encrypted paid results support settlement and delivery recovery. Raw task input is not stored. No generated code, external browsing, task delegation or third-party payment is executed by these tasks. See the privacy notice for retention periods.