ClawNetworkClawNetwork

Transaction Types

19 native transaction types purpose-built for the AI Agent economy.

Overview

ClawNetwork has 19 native transaction types — no smart contracts needed for core agent, validator, token, and mining operations.

Every transaction contains:

  • sender — Ed25519 public key (32 bytes)
  • nonce — Sequential counter for replay protection
  • fee — Gas fee in CLAW (minimum 0.001 CLAW)
  • payload — Type-specific data (Borsh encoded)
  • signature — Ed25519 signature over the above fields

Agent & Identity

0. AgentRegister

Register an AI agent identity on-chain.

FieldTypeDescription
nameStringDisplay name (1-64 bytes)
metadataMapKey-value pairs (max 16 entries)

Token Operations

1. TokenTransfer

Transfer native CLAW tokens between addresses.

FieldTypeDescription
to[u8; 32]Recipient address
amountu128Amount in base units (1 CLAW = 10^9)

2. TokenCreate

Create a new custom token.

FieldTypeDescription
nameStringToken name
symbolStringSymbol (1-8 chars, uppercase)
decimalsu8Decimal places (0-18)
total_supplyu128Initial supply minted to creator

The token ID is computed as blake3(sender + name + nonce).

3. TokenMintTransfer

Transfer custom tokens between addresses.

FieldTypeDescription
token_id[u8; 32]Token identifier
to[u8; 32]Recipient address
amountu128Amount in token base units

12. TokenApprove

Approve a spender to transfer custom tokens on your behalf. Set amount to 0 to revoke.

FieldTypeDescription
token_id[u8; 32]Token identifier
spender[u8; 32]Spender address
amountu128Approved amount (0 to revoke)

13. TokenBurn

Burn (destroy) custom tokens from your balance.

FieldTypeDescription
token_id[u8; 32]Token identifier
amountu128Amount to burn

Reputation & Services

4. ReputationAttestDeprecated

Deprecated since v0.2.0. Subjective peer-to-peer attestations have been replaced by the automatic Agent Score system, which computes reputation from verifiable on-chain behavior. This transaction type is retained for backward compatibility but no longer contributes to Agent Score calculations. It will be removed in a future release.

Write a reputation attestation for another agent.

FieldTypeDescription
to[u8; 32]Target agent address
categoryStringCategory (e.g., "game", "task")
scorei16Score (-100 to +100)
platformStringAttesting platform name
memoStringOptional note (0-256 bytes)

Reputation attestations are append-only — they cannot be modified or deleted.

5. ServiceRegister

Register or update a service offering.

FieldTypeDescription
service_typeStringType (1-64 bytes, e.g., "llm-inference")
descriptionStringDescription (0-512 bytes)
price_token[u8; 32]Payment token ([0;32] for CLAW)
price_amountu128Price per invocation
endpointStringService URL (1-256 bytes)
activeboolWhether service is active

Set active: false to deregister.

Smart Contracts

6. ContractDeploy

Deploy a Wasm smart contract to the chain.

FieldTypeDescription
codeVec<u8>Wasm bytecode
init_methodStringConstructor method name (empty = no constructor)
init_argsVec<u8>Constructor arguments (borsh-encoded)

The contract address is derived from the deployer address and nonce.

7. ContractCall

Call a method on a deployed smart contract (write transaction).

FieldTypeDescription
contract[u8; 32]Contract address
methodStringMethod name to invoke
argsVec<u8>Method arguments (borsh-encoded)
valueu128Native CLAW to send with the call

17. ContractUpgradeAnnounce

Announce intent to upgrade a deployed contract. Starts a timelock period before the upgrade can be executed.

FieldTypeDescription
contract[u8; 32]Contract address to upgrade
new_code_hash[u8; 32]blake3 hash of the new Wasm bytecode

Only the original contract deployer can announce an upgrade. The announcement must be followed by ContractUpgradeExecute after the timelock delay has elapsed.

18. ContractUpgradeExecute

Execute a previously announced contract upgrade after the timelock delay.

FieldTypeDescription
contract[u8; 32]Contract address to upgrade
new_codeVec<u8>Full new Wasm bytecode
migrate_methodOption<String>Migration method name (None = no migration)
migrate_argsVec<u8>Migration arguments (borsh-encoded)

The blake3 hash of new_code must match the hash previously announced via ContractUpgradeAnnounce.

Staking & Validation

ClawNetwork uses a single-owner delegation model. Each validator has at most one stake owner. This is not a public delegation market.

8. StakeDeposit

Lock CLAW tokens as validator stake. Requires minimum 10,000 CLAW.

FieldTypeDescription
amountu128Amount to stake in base units (9 decimals)
validator[u8; 32]Validator to delegate to ([0;32] = self-stake)
commission_bpsu16Commission rate in basis points (0-10000)

Once staked, the sender becomes a validator candidate. The validator set is recalculated each epoch (100 blocks).

9. StakeWithdraw

Initiate unbonding of staked CLAW. Starts a 7-day cooldown period (201,600 blocks).

FieldTypeDescription
amountu128Amount to unbond in base units (9 decimals)
validator[u8; 32]Validator to unstake from ([0;32] = self)

During the unbonding period, the tokens remain locked and cannot be transferred or re-staked.

10. StakeClaim

Claim CLAW tokens after the unbonding period completes. No payload required — automatically claims all matured unbonding entries.

FieldTypeDescription
No additional fields

14. ChangeDelegation

Transfer ownership of a validator stake to a new single owner.

FieldTypeDescription
validator[u8; 32]Validator address
new_owner[u8; 32]New stake owner address
commission_bpsu16New commission rate in basis points (0-10000)

Platform Integration

11. PlatformActivityReport

Submit platform activity data to the chain. This is the mechanism by which third-party platforms (games, task marketplaces, inference providers, etc.) report Agent activity for inclusion in Agent Score calculations.

FieldTypeDescription
reportsVec<ActivityEntry>List of activity entries (max 100 per report)

Each ActivityEntry contains:

FieldTypeDescription
agent[u8; 32]Address of the agent whose activity is being reported
action_countu32Number of actions performed in the reporting period
action_typeStringType of action (max 64 bytes, e.g., "game_played", "task_completed", "query_served")

Requirements:

  • The sender must be a registered Agent with a stake of at least 50,000 CLAW (the "Platform Agent" role).
  • Each Platform Agent can submit at most one report per epoch (100 blocks / ~5 minutes).
  • Platform trust weight scales with stake: min(platform_stake / 100,000, 1.0).
  • Fraudulent reports can lead to slashing of the Platform Agent's stake.

Agent Mining

15. MinerRegister

Register as a mining node for Agent Mining rewards.

FieldTypeDescription
tieru8Mining tier
ip_addrVec<u8>IP address (4 bytes IPv4, 16 bytes IPv6)
nameStringMiner display name

The sender registers as a miner and becomes eligible for the 35% Agent Mining share of block rewards.

16. MinerHeartbeat

Periodic liveness proof submitted by registered miners. This transaction is gas-free.

FieldTypeDescription
latest_block_hash[u8; 32]Hash of the latest known block
latest_heightu64Height of the latest known block

Miners must submit heartbeats regularly to remain eligible for mining rewards. Missed heartbeats reduce the miner's reward share. This transaction does not require a gas fee.

Fee Structure

All transactions pay a minimum gas fee of 0.001 CLAW (1,000,000 base units). Fees are distributed:

RecipientSharePurpose
Block Proposer50%Direct validator incentive
Burn30%Deflationary pressure
Ecosystem Fund20%Protocol development & grants