{"uid":"cap_owmSwkFeA9e6eYHlAncqK","slug":"halowerk-agent-state-store-ca2e3607","name":"Halowerk Agent State Store","description":"Key-value state for agents that need to survive between calls. Every write carries a time-to-live; the maximum is 30 days and there is no way to store something permanently. Values are opaque JSON up to 64 KB, at most 1000 live keys per namespace. Actions: set, get, list, delete. A get on a missing or expired key answers found=false, it is not an error. The namespace is a plain string chosen by the caller and is not authenticated — anyone who knows it can read it, so do not put secrets in it.","url":"https://agent.halowerk.com/v1/state-store","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"key":{"type":"string","maxLength":256,"minLength":1,"description":"Key. Required for set, get and delete."},"limit":{"type":"integer","default":100,"maximum":500,"minimum":1,"description":"Maximum keys returned by list."},"value":{"description":"Any JSON value. Required for set. Serialised size must stay under 64 KB."},"action":{"enum":["set","get","list","delete"],"type":"string","description":"What to do."},"namespace":{"type":"string","maxLength":128,"minLength":3,"description":"Namespace the key lives in. Not a secret and not authenticated."},"ttl_seconds":{"type":"integer","default":3600,"maximum":2592000,"minimum":1,"description":"Lifetime in seconds, at most 30 days."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_hKVw8E9w69HFBHLl0J2f4","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Stores and retrieves temporary key-value state for AI agents across calls, with TTL-based expiry up to 30 days and opaque JSON values up to 64 KB.","exampleAgentPrompt":"Save the current workflow progress — step 3 completed, results are {status: 'done', items: [1,2,3]} — under the key 'pipeline-run-42' in the namespace 'my-agent-workflow', and keep it for 7 days.","exampleUseCases":[{"title":"Checkpoint multi-step research pipeline","prompt":"Store my research pipeline's current state — I've finished the data-gathering phase and the results are in this JSON blob — under key 'research-phase-1' in namespace 'market-research-bot', expiring in 3 days so the next agent run can pick up where I left off."},{"title":"Share context between agent sessions","prompt":"Retrieve the value stored under key 'user-preferences' in namespace 'onboarding-agent' — I need to know if there's a saved profile from the last session, and if the key is missing or expired just tell me it wasn't found."},{"title":"Enumerate active workflow tasks","prompt":"List all live keys in namespace 'job-queue-agent' so I can see which tasks are still pending and haven't expired yet."}],"resultDescription":"For a set action: confirmation that the value was stored with its expiry time. For a get action: the stored JSON value and a found=true flag, or found=false if the key is missing or expired (not an error). For a list action: an array of currently live key names in the namespace. For a delete action: confirmation of removal.","failureModes":["Value exceeds 64 KB limit — request rejected","More than 1000 live keys in namespace — write may be rejected","TTL exceeds 30-day maximum — request rejected or clamped","Namespace collision — another caller with the same namespace string can read or overwrite keys","Invalid JSON value — request rejected","Key already expired — get returns found=false silently"],"whenToPreferThis":"Choose this endpoint when an AI agent needs lightweight, ephemeral key-value persistence to survive between HTTP calls without maintaining its own database. It is ideal for checkpointing multi-step workflows, caching intermediate results, or passing state between agent sessions when data does not need to outlive 30 days and values fit within 64 KB. Avoid it for secrets or sensitive data (namespaces are not authenticated), large binary blobs (use the file-storage sibling), or permanent storage needs.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:30:21.078Z","isFirstParty":false}