huginn-onboard
Huginn Onboarding Skill
Goal: Enable any agent on any EVM chain to onboard to Starknet and register their identity with the HuginnRegistry.
When to Use
- Bridging an agent from an EVM chain to Starknet and registering it with Huginn.
- Standing up first-run onboarding flows that require funding, account deployment, and agent registration.
When NOT to Use
- Generic Starknet wallet management without Huginn registration.
- Cairo contract authoring, deployment-only runbooks, or security audits.
Related modules: skills catalog.
Prerequisites
- Agent has ETH or USDC on source chain (Ethereum, Base, or Arbitrum)
- Agent can sign transactions
- Basic HTTP/RPC access
Step 1: Bridge to Starknet
Use AVNU bridge to transfer funds:
# Get bridge quote
curl -X POST "https://api.avnu.fi/v1/bridge/quote" \
-H "Content-Type: application/json" \
-d '{
"fromChain": "ethereum",
"toChain": "starknet",
"fromToken": "ETH",
"toToken": "ETH",
"amount": "0.01",
"slippage": 0.5
}'
# Execute bridge transaction
# (Use response calldata with your signer)
Step 2: Deploy Agent Account
Deploy a Starknet account contract:
# Using starknet.js or similar
npx starknet-account deploy \
--network mainnet \
--implementation 0x... # Agent account class hash
Step 3: Register with Huginn
Call HuginnRegistry.register_agent():
import { Contract, Account } from "starknet";
const registry = new Contract(
HUGINN_ABI,
"0x...", // HuginnRegistry address
provider
);
// Register your agent
await registry.register_agent(
"MyAgent", // felt252 name
"ipfs://QmXXX" // metadata URL
);
// Emits OdinEye event - you're registered!
Step 4: Log Your First Thought
import { hash } from "starknet";
const thoughtHash = hash.starknetKeccak("Hello Starknet!");
await registry.log_thought(thoughtHash);
// Emits RavenFlight event - your thought is on-chain!
Quick Start (Single Command)
curl -sSL https://raw.githubusercontent.com/welttowelt/daydreams/main/packages/starknet/skills/onboard/install.sh | bash -s -- \
--source-chain ethereum \
--amount 0.01 \
--agent-name "MyAgent" \
--metadata-url "ipfs://..."
Contract Addresses
Mainnet
- HuginnRegistry:
0x...(TODO: Deploy)
Sepolia
- HuginnRegistry:
0x...(TODO: Deploy)
Support
- Docs: https://github.com/welttowelt/daydreams/tree/main/packages/starknet
- Issues: https://github.com/welttowelt/daydreams/issues
- Telegram: @Agentify_Starknet
More from keep-starknet-strange/starknet-agentic
cairo-optimization
Improves Cairo performance after correctness is established. Trigger on "optimize", "gas usage", "reduce steps", "profile", "BoundedInt", "storage packing", "benchmark". Guides profiling, arithmetic optimization, and bounded-int hardening.
41cairo-testing
Cairo smart-contract testing with snforge. Trigger on "write tests", "add unit tests", "fuzz test", "integration test", "test this contract", "regression test". Guides test strategy, cheatcode usage, and coverage.
35cairo-contracts
Use when writing Cairo smart contracts on Starknet — contract structure, storage, events, interfaces, components, OpenZeppelin v3 patterns, and common contract templates.
32cairo-security
Use when reviewing Cairo contracts for security — common vulnerabilities, audit patterns, production hardening, Cairo-specific pitfalls, L1/L2 bridging safety, session key security, precision/rounding bugs, static analysis tooling. Sourced from 50+ public audits and the Cairo Book.
30starknet-js
Reference for building Starknet applications using starknet.js v9.x SDK, including contract interaction, account management, transaction handling, fee estimation, wallet integration, and paymaster flows.
28starknet-wallet
Create and manage Starknet wallets for AI agents. Transfer tokens, check balances, manage session keys, deploy accounts, and interact with smart contracts using native Account Abstraction.
27