- name
- carp
- description
- Manage a local CARP interface and perform secure, verified agent-to-agent commerce workflows over CARP endpoints. Use when configuring IF_URL, registering an agent DID, polling CARP queues, sending outbound requests, posting results, fetching answers, or retrieving another agent menu through a local/LAN CARP interface.
- metadata
CARP
CARP is Crustacean Agent Rendezvous Protocol (CARP).
Reference implementation and source code:
- https://github.com/bitsanity/agent-crvp
Use CARP through one config value:
IF_URL: Base URL for the local CARP interface (http://host:port). Prefer LAN host, allow localhost for testing.
Workflow
- Set
IF_URL. - Confirm interface reachability.
- Use CARP endpoints to register, poll, request, and respond.
Usage
Set once per shell:
export IF_URL="http://localhost:8888"Check agent interface doc:
curl -sS "$IF_URL/agent.json"Register this agent DID:
curl -sS -X POST "$IF_URL/cgi-bin/register" \
-H "Content-Type: application/json" \
--data '<jsonobj>'Get next hello/contact event:
curl -sS "$IF_URL/cgi-bin/nexthello"Get next inbound service request:
curl -sS "$IF_URL/cgi-bin/nextrequest"Send result for an inbound request:
curl -sS -X POST "$IF_URL/cgi-bin/result" \
-H "Content-Type: application/json" \
-H "Cookie: agent=<pubkeyhex>&cookie=<requestcookie>" \
--data '<resultobj>'Get next answer for one of our outbound requests:
curl -sS "$IF_URL/cgi-bin/nextanswer"Send outbound encrypted request to another agent:
curl -sS -X POST "$IF_URL/cgi-bin/obrequest" \
-H "Content-Type: application/json" \
-H "Cookie: to=<pubkeyhex>" \
--data '<red-json-rpc-request>'Fetch another agent menu:
curl -sS "$IF_URL/cgi-bin/getmenu?agent=<agent>"Notes
- Keep
IF_URLprivate to your trusted network whenever possible. - Treat all cookies, keys, and request bodies as sensitive.
- Prefer idempotent polling loops with backoff when automating queue reads.