New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@publish-new/cli

Package Overview
Dependencies
Maintainers
2
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@publish-new/cli

CLI and agent toolkit for publish.new — publish, discover, and buy digital artifacts with x402 micropayments

latest
Source
npmnpm
Version
0.1.4
Version published
Maintainers
2
Created
Source

@publish-new/cli

CLI and agent toolkit for publish.new — publish, discover, and buy digital artifacts with USDC micropayments.

Install

npm install -g @publish-new/cli

Or run without installing:

npx @publish-new/cli --help

Quick start

# Publish a text artifact
publish new --price=1.50 --author=0xYOUR_WALLET --content="# My Article" --title="My Article"

# Publish a file
publish new --price=5.00 --author=0xYOUR_WALLET --file=./report.pdf --title="Premium Report"

# List artifacts
publish list

# Buy content
export PRIVATE_KEY=0xYOUR_KEY
publish buy my-article-a1b2c3d4 --chain=tempo

Commands

publish new

Publish a new artifact with a USDC price.

publish new --price=1.50 --author=0xWALLET --content="# Hello" --title="My Post"
publish new --price=5.00 --author=0xWALLET --file=./report.pdf
echo "# Piped content" | publish new --price=0.50 --author=0xWALLET --content=-
FlagRequiredDescription
--price <amount>yesUSDC price
--author <address>yesEthereum address to receive payments
--content <text>one of content/fileMarkdown text (use - for stdin)
--file <path>one of content/fileFile to upload (any type, max 100MB)
--title <title>noArtifact title (used to generate URL slug)
--description <desc>noShort description
--dry-runnoValidate inputs without creating
--forcenoSkip duplicate check, always create

Idempotency: If --title is provided, the CLI checks for an existing artifact with matching title, price, and author before creating. If found, it returns the existing artifact. Use --force to bypass this check.

publish list

List and search published artifacts.

publish list
publish list --search="machine learning" --limit=10
FlagDefaultDescription
--search <query>Search title and description
--page <n>1Page number
--limit <n>20Results per page (max 100)

publish get <slug>

Get artifact metadata.

publish get my-article-a1b2c3d4

publish price <slug>

Get the USDC price.

publish price my-article-a1b2c3d4

publish buy <slug>

Pay to unlock artifact content via x402.

publish buy my-article-a1b2c3d4 --chain=tempo
publish buy my-article-a1b2c3d4 --chain=tempo --output=./downloaded.pdf
publish buy my-article-a1b2c3d4 --dry-run
FlagDefaultDescription
--chain <chain>tempotempo, base, or mainnet
--currency <address>USDCERC-20 contract address
--output <path>stdoutSave to file
--private-key <key>PRIVATE_KEY envWallet private key
--dry-runfalseShow price and chain without paying

Idempotency: Before paying, the CLI probes the content endpoint. If the content is already unlocked, it returns it without paying again. Safe to retry.

Global flags

FlagDescription
--jsonMachine-readable JSON output on stdout
--quietSuppress human-friendly messages on stderr
--api-url <url>Override API base URL (default: https://publish.new)

Agent usage

This CLI is designed to be called by AI agents and automated workflows.

Use --json for structured output

All commands support --json for machine-readable output:

publish list --search="dataset" --json | jq '.artifacts[0].slug'

Preview before acting

Use --dry-run to validate without side effects:

publish new --price=1 --author=0xABC --content="# Test" --dry-run --json
publish buy my-slug --dry-run --json

Safe retries

Both publish new and publish buy are safe to retry:

  • new checks for existing artifacts with matching title/price/author
  • buy checks if content is already unlocked before paying

Agent skill

Install the publish-new skill from skills.sh, or copy the standalone prompt into your agent.

Example: agent-driven publish and sell

publish new \
  --price=2.00 \
  --author=0xAGENT_WALLET \
  --file=./analysis.pdf \
  --title="Q1 Market Analysis" \
  --json

Example: agent-driven discovery and purchase

SLUG=$(publish list --search="dataset" --json | jq -r '.artifacts[0].slug')
publish price "$SLUG" --json
export PRIVATE_KEY=0xAGENT_KEY
publish buy "$SLUG" --chain=tempo --output=./dataset.csv

Supported chains and currencies

ChainCurrencyAddress
tempoUSDC0x20c000000000000000000000b9537d11c60e8b50
baseUSDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
baseDAI0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb
mainnetUSDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
mainnetDAI0x6B175474E89094C44Da98b954EedeAC495271d0F
mainnetUSDT0xdAC17F958D2ee523a2206206994597C13D831ec7

Development

git clone https://github.com/publish-new/cli.git
cd publish-cli
npm install
npm run build
node dist/bin.js --help

Testing

npm test                              # unit + read-only integration tests
RUN_E2E_WRITE=1 npm test             # also runs tests that create artifacts
RUN_PAYMENT_TESTS=1 PRIVATE_KEY=0x... npm test  # also runs payment tests

Contributing

Pull requests welcome. Please run npm test before submitting.

License

MIT

Keywords

publish.new

FAQs

Package last updated on 02 Apr 2026

Related posts