Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

CLI Reference

@inkd/cli — terminal interface for the Inkd Protocol.

Install

npm install -g @inkd/cli

Verify:

inkd --version
# @inkd/cli 0.2.0

Configuration

export INKD_PRIVATE_KEY=0xYOUR_PRIVATE_KEY   # required for write operations
export INKD_NETWORK=mainnet                   # mainnet | testnet (default: mainnet)
export INKD_API_URL=https://...              # optional, default: api.inkdprotocol.com

inkd status

Show network connectivity, wallet balance, and registry info.

inkd status
Inkd Protocol
────────────────────────────────────
Network:   mainnet (Base, chain 8453)
Registry:  0xEd3067dDa601f19A5737babE7Dd3AbfD4a783e5d
Wallet:    0xYourWallet
USDC:      12.50
ETH:       0.0041
Projects:  12 registered

inkd project

project create

Register a new project on-chain. Costs $0.10 USDC minimum (paid via x402).

inkd project create \
  --name my-agent \
  --description "An autonomous agent" \
  --license MIT \
  [--agent] \
  [--private] \
  [--endpoint https://my-agent.example.com]
FlagRequiredDescription
--nameProject name. Max 64 chars, globally unique, immutable.
--descriptionShort description. Max 1024 chars.
--licenseSPDX identifier. Default: MIT.
--agentMark as AI agent project.
--privateMake the project private.
--endpointAgent HTTP endpoint (requires --agent).
--jsonOutput as JSON.
→ Paying $0.10 USDC via EIP-3009...
→ Submitting transaction...
 
✓ Project created
  Name:       my-agent
  Project ID: 10
  Owner:      0xYourWallet
  TX:         0x25642785bb...
  Basescan:   https://basescan.org/tx/0x25642785bb...

project get

Look up a project by ID or name.

inkd project get 10
inkd project get my-agent
inkd project get my-agent --json
Project #10: my-agent
────────────────────────────────────
Owner:    0xYourWallet
License:  MIT
Public:   true
Agent:    true
Versions: 2
Created:  2026-03-07 20:40 UTC

project list

List all public projects.

inkd project list [--offset 0] [--limit 20] [--json]

project transfer

Transfer project ownership.

inkd project transfer --id 10 --to 0xNewOwner

project collaborator

Manage push access. Max 50 collaborators per project.

# Add
inkd project collaborator add --id 10 --address 0xCollaborator
 
# Remove
inkd project collaborator remove --id 10 --address 0xCollaborator
 
# List
inkd project collaborator list --id 10

inkd version

version push

Upload content to Arweave and record the version on-chain.

inkd version push \
  --id 10 \
  --file ./dist/agent.js \
  --tag v1.0.0 \
  [--changelog "Initial release"]
FlagRequiredDescription
--idProject ID.
--file✅ or --hashLocal file to upload to Arweave.
--hash✅ or --fileExisting Arweave hash. Skips upload.
--tagVersion tag (e.g. v1.0.0).
--changelogDescription of changes.
--jsonOutput as JSON.
→ Uploading dist/agent.js (14.2 KB) to Arweave...
→ Uploaded: ar://QmAbc123xyz...
→ Paying $0.0022 USDC...
→ Submitting transaction...
 
✓ Version pushed
  Tag:      v1.0.0
  Content:  ar://QmAbc123xyz
  URL:      https://arweave.net/QmAbc123xyz
  TX:       0x7a63bd374bd4...

Already have an Arweave hash?

inkd version push --id 10 --hash ar://QmExisting --tag v1.1.0

version list

inkd version list --id 10
#   Tag      Hash               Pushed at
0   v1.0.0   ar://QmAbc123...   2026-03-07 20:45 UTC
1   v1.1.0   ar://QmDef456...   2026-03-07 21:12 UTC

version get

inkd version get --id 10 --index 0

CI/CD example

# .github/workflows/deploy.yml
- name: Push version to Inkd
  env:
    INKD_PRIVATE_KEY: ${{ secrets.INKD_PRIVATE_KEY }}
  run: |
    npx @inkd/cli version push \
      --id ${{ vars.INKD_PROJECT_ID }} \
      --file ./dist/bundle.js \
      --tag v${{ github.ref_name }} \
      --changelog "Release ${{ github.ref_name }}"