CLI Reference
@inkd/cli — terminal interface for the Inkd Protocol.
Install
npm install -g @inkd/cliVerify:
inkd --version
# @inkd/cli 0.2.0Configuration
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.cominkd status
Show network connectivity, wallet balance, and registry info.
inkd statusInkd Protocol
────────────────────────────────────
Network: mainnet (Base, chain 8453)
Registry: 0xEd3067dDa601f19A5737babE7Dd3AbfD4a783e5d
Wallet: 0xYourWallet
USDC: 12.50
ETH: 0.0041
Projects: 12 registeredinkd 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]| Flag | Required | Description |
|---|---|---|
--name | ✅ | Project name. Max 64 chars, globally unique, immutable. |
--description | — | Short description. Max 1024 chars. |
--license | — | SPDX identifier. Default: MIT. |
--agent | — | Mark as AI agent project. |
--private | — | Make the project private. |
--endpoint | — | Agent HTTP endpoint (requires --agent). |
--json | — | Output 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 --jsonProject #10: my-agent
────────────────────────────────────
Owner: 0xYourWallet
License: MIT
Public: true
Agent: true
Versions: 2
Created: 2026-03-07 20:40 UTCproject list
List all public projects.
inkd project list [--offset 0] [--limit 20] [--json]project transfer
Transfer project ownership.
inkd project transfer --id 10 --to 0xNewOwnerproject 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 10inkd 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"]| Flag | Required | Description |
|---|---|---|
--id | ✅ | Project ID. |
--file | ✅ or --hash | Local file to upload to Arweave. |
--hash | ✅ or --file | Existing Arweave hash. Skips upload. |
--tag | ✅ | Version tag (e.g. v1.0.0). |
--changelog | — | Description of changes. |
--json | — | Output 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.0version 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 UTCversion get
inkd version get --id 10 --index 0CI/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 }}"