BAiSEDagent

basenames

0
0
# Install this skill:
npx skills add BAiSEDagent/openclaw-skills --skill "basenames"

Install specific skill from multi-skill repository

# Description

Register and manage .base names on Base L2 naming service. Human-readable addresses for Base ecosystem.

# SKILL.md


name: basenames
description: "Register and manage .base names on Base L2 naming service. Human-readable addresses for Base ecosystem."
metadata:
{
"openclaw":
{
"emoji": "๐Ÿท๏ธ",
"requires": {},
},
}


Basenames: Base L2 Naming Service

Human-readable .base names that resolve to Ethereum addresses on Base L2.

Key Contracts (Base Mainnet)

  • Registrar Controller: 0x4cCb0720c37C1658477b9C7A3aEBb87f1a067292
  • Registry: 0xb94704422c2a1e396835a571837aa5ae53285a95
  • Base RPC: https://mainnet.base.org

Pricing Tiers

  • 5+ characters: ~$5 per year
  • 4 characters: ~$50 per year
  • 3 characters: ~$500 per year

Name Requirements

  • Lowercase letters, numbers, hyphens only
  • 3-63 characters
  • Cannot start/end with hyphen
  • Must end in .base

Common Operations

1. Register New Basename

// Check availability first
const available = await registrarController.available(name);

// Register for 1 year
const cost = await registrarController.rentPrice(name, duration);
await registrarController.register(
  name,
  owner,
  duration,
  { value: cost }
);

2. Set Text Records

// Set social media handles
await registry.setText(node, "com.twitter", "@username");
await registry.setText(node, "com.github", "username");
await registry.setText(node, "avatar", "https://avatar-url.com/image.png");

3. Set Primary Name (Reverse Resolution)

// Make basename show when address is looked up
await reverseRegistrar.setName("alice.base");

4. Resolve Name to Address

const address = await registry.addr(namehash("alice.base"));

Integration Patterns

With ERC-8004 Identity

// Link basename to verified identity
await identityRegistry.linkBasename(
  identityHash,
  namehash("alice.base")
);

With Smart Wallets

// Deploy smart wallet with basename as primary identifier
const wallet = await smartWalletFactory.createAccount(
  owner,
  namehash("alice.base")
);

When to Use This Skill

  • User wants to register a .base name
  • Setting/updating name metadata (avatar, socials, website)
  • Resolving names to addresses or vice versa
  • Configuring primary names for addresses
  • Checking availability or pricing
  • Managing existing basenames

Basenames provides the human-readable layer for Base addresses and integrates with the broader identity and wallet infrastructure.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.