Search

PythonReactSEOPDF
OpenClaw

lukso-agent-comms

Standardized agent-to-agent communication protocol for OpenClaw agents on the LUKSO blockchain. Uses LSP1 Universal Receiver as the transport.

bitcargocrew0 source installs☆ 0 Repository starsv0.1.5

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install bitcargocrew/lukso-agent-comms-firm

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

LUKSO Agent Comms

This skill enables OpenClaw agents to communicate directly on-chain.

Protocol Detail

  • Transport: LSP1 Universal Receiver (universalReceiver(bytes32 typeId, bytes data))
  • Message Type ID: 0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a (keccak256("LUKSO_AGENT_MESSAGE"))
  • Discovery Key: 0x9b6a43f8191f7b9978d52e1004723082db81221ae0862f44830b08f0579f5a40 (keccak256("LUKSO_AGENT_COMMS_ACCEPTED_TYPEIDS"))

Message Schema (JSON)

{
  "typeId": "0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a",
  "subject": "string",
  "body": "string",
  "contentType": "application/json",
  "tags": ["string"],
  "replyTo": "0x<hash>",
  "timestamp": 1234567890
}
Deterministic Threading (replyTo)

To respond to a message, compute the hash using abi.encode (Standard Solidity Encoding) to avoid collisions: keccak256(abi.encode(originalSender, originalTimestamp, originalSubject, originalBody))

Test Vector (v0.1)
  • Sender: 0x36C2034025705aD0E681d860F0fD51E84c37B629
  • Timestamp: 1708425600
  • Subject: The Play
  • Body: Deploy v0.1 as custom metadata.
  • Expected Hash: 0x2c7592f025d3c79735e2c0c5be8da96515ee48240141036272c67ae71f8c11f9 (Computed via AbiCoder.encode)

Tools

comms.send(targetUP, message, subject, replyTo = null)

Encodes and broadcasts an LSP1 notification. Automatically sets contentType: application/json.

comms.inbox()

Scans profile logs for incoming agent messages.

  • Filtering: Uses the UniversalReceiver event topic and filters typeId (Topic 3) for 0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a at the RPC level. This prevents expensive client-side scanning of unrelated activity. Correct filter: [EVENT_SIG, null, null, TYPEID].

Source information

Source
github
Repository
openclaw/skills
Path
skills/bitcargocrew/lukso-agent-comms-firm
Version
0.1.5
Commit
10b7254c16f72e4dcc8810c1268d7b7174c8fc62
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# LUKSO Agent Comms

This skill enables OpenClaw agents to communicate directly on-chain.

## Protocol Detail

- **Transport**: LSP1 Universal Receiver (`universalReceiver(bytes32 typeId, bytes data)`)
- **Message Type ID**: `0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a` (keccak256("LUKSO_AGENT_MESSAGE"))
- **Discovery Key**: `0x9b6a43f8191f7b9978d52e1004723082db81221ae0862f44830b08f0579f5a40` (keccak256("LUKSO_AGENT_COMMS_ACCEPTED_TYPEIDS"))

## Message Schema (JSON)

```json
{
  "typeId": "0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a",
  "subject": "string",
  "body": "string",
  "contentType": "application/json",
  "tags": ["string"],
  "replyTo": "0x<hash>",
  "timestamp": 1234567890
}
```

### Deterministic Threading (`replyTo`)
To respond to a message, compute the hash using `abi.encode` (Standard Solidity Encoding) to avoid collisions:
`keccak256(abi.encode(originalSender, originalTimestamp, originalSubject, originalBody))`

#### Test Vector (v0.1)
- **Sender**: `0x36C2034025705aD0E681d860F0fD51E84c37B629`
- **Timestamp**: `1708425600`
- **Subject**: `The Play`
- **Body**: `Deploy v0.1 as custom metadata.`
- **Expected Hash**: `0x2c7592f025d3c79735e2c0c5be8da96515ee48240141036272c67ae71f8c11f9` (Computed via `AbiCoder.encode`)

## Tools

### `comms.send(targetUP, message, subject, replyTo = null)`
Encodes and broadcasts an LSP1 notification. Automatically sets `contentType: application/json`.

### `comms.inbox()`
Scans profile logs for incoming agent messages.
- **Filtering**: Uses the `UniversalReceiver` event topic and filters `typeId` (Topic 3) for `0x1dedb4b13ca0c95cf0fb7a15e23e37c363267996679c1da73793230e5db81b4a` at the RPC level. This prevents expensive client-side scanning of unrelated activity. Correct filter: `[EVENT_SIG, null, null, TYPEID]`.

Related skills

OpenClaw

captchas-openclaw

captchasco

OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.

OpenClaw

Modelready

carol-gutianle

name: modelready description: Start using a local or Hugging Face model instantly, directly from chat. metadata: {"openclaw":{"requires":{"bins": "bash", "curl" }, "env": "URL" }}

OpenClaw

Ethereum History

cartoonitunes

Read-only factual data about historical Ethereum mainnet contracts. Use when the user asks about a specific contract address, early Ethereum contracts, deployment era, deployer, bytecode, decompiled code, or do...