Check out the x402 Article Marketplace (UI)

AI Validation

AI scores your content and generates optimized titles

No Gas Fees

Pay only the article price - zero transaction fees

100+ Sites

Submit to crypto news, DeFi, NFT sites

Instant Submission

One signature and your pitch is sent

How It Works

1

Connect Wallet

Visit x402 Article Marketplace and connect your wallet on Base network

2

Choose Target Site

Select a crypto content site that matches your article topic

3

Provide Your Idea

Enter a tweet URL, topic idea, or complete article title

4

Review & Approve

See AI suggestions and approval score before paying

5

Submit & Pay

One signature with USDC - zero gas fees - instant submission to publisher

AI Validation Rules

The AI validation endpoint scores your article idea and either approves it as-is, suggests improvements, or rejects it.

Perfect! Your input is approved as-is.

Your provided title or topic is excellent and fits the site's focus. No changes needed - we'll submit it exactly as you wrote it.

Example: "How to Use Base Pay for Creators in Your DApp"

Pricing

Article submission prices vary by site based on their traffic and authority.

Typical Ranges:

  • Small/emerging sites: $3-50 USDC per submission
  • Mid-tier sites: $50-200 USDC per submission
  • Premium sites: $200-500 USDC per submission
Note

Prices are set by individual publishers. Check the site details before submitting.

API Reference

Network & Payment Details

NetworkBasepath

Chain ID: 8453

Payment TokenUSDCpath

6 decimals

Protocolx402path

ERC-20 Permit signatures

Max Price$1000path

Maximum price per submission

Validate Article Idea (Free)

bash
POST https://x402.anyspend.com/articles/validate

Free endpoint to validate your article idea. AI generates a title, description, and approval score.

Request Body:

json
{ "siteDomain": "baseradar.com", "userInput": "How to use Base Pay for creators"}

Parameters:

  • siteDomain (required) - Target site domain (e.g., "baseradar.com")
  • userInput (required) - Tweet URL, topic idea, or complete title (10-200 characters)

Input Options:

Provide a ready-to-use article title.

json
{ "siteDomain": "baseradar.com", "userInput": "How to Build a DEX on Base with Uniswap V3"}

If approved (score ≥90), your title is used as-is.

Provide a tweet URL with relevant content.

json
{ "siteDomain": "solanaecho.com", "userInput": "https://x.com/BuildOnBase/status/1234567890"}

AI extracts the topic and generates a title/description.

Provide a short topic or idea.

json
{ "siteDomain": "baseradar.com", "userInput": "base pay for creators"}

AI generates a complete title and description.

Submit Article Request (x402 Payment)

bash
POST https://x402.anyspend.com/articles/buy

Submit an article request with x402 payment. You must validate your content first and receive approval.

Request Body:

json
{ "buyerAddress": "0x742d35Cc6...", "siteDomain": "baseradar.com", "title": "Integrating Base Pay: A Complete Guide for Content Creators", "description": "Learn how to implement Base Pay in your creator platform with step-by-step examples and best practices."}

Parameters:

  • buyerAddress (required) - Your wallet address
  • siteDomain (required) - Target site domain
  • title (required) - Article title (from validation or your own if score ≥90)
  • description (required) - Article description (from validation or your own)

JavaScript/TypeScript Example:

typescript
import { wrapFetchWithPayment } from '@b3dotfun/anyspend-x402-fetch';import { createWalletClient, custom, publicActions } from 'viem';import { base } from 'viem/chains';// Step 1: Validate your content (FREE)const validateResponse = await fetch('https://x402.anyspend.com/articles/validate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ siteDomain: 'baseradar.com', userInput: 'How to use Base Pay for creators' })});const validation = await validateResponse.json();if (!validation.data.approved) { console.error('Content rejected:', validation.data.reasoning); process.exit(1);}console.log('✅ Approved! Score:', validation.data.score);console.log('Title:', validation.data.suggestedTitle);// Step 2: Submit with payment (x402)const walletClient = createWalletClient({ account: '0x742d35Cc6...', chain: base, transport: custom(window.ethereum),}).extend(publicActions);const fetchWithPayment = wrapFetchWithPayment( fetch, walletClient, BigInt(1000 * 10 ** 6) // Max 1000 USDC);const response = await fetchWithPayment( 'https://x402.anyspend.com/articles/buy', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ buyerAddress: '0x742d35Cc6...', siteDomain: 'baseradar.com', title: validation.data.suggestedTitle, description: validation.data.suggestedDescription }) });const result = await response.json();console.log('🎉 Article submitted! Request ID:', result.data.requestId);
Note

See x402 SDK documentation for more details on using wrapFetchWithPayment.

View Your Submissions (Free)

bash
GET https://x402.anyspend.com/articles/requests/buyer/:address

Track all your article submissions - pending, accepted, and published.

bash
curl "https://x402.anyspend.com/articles/requests/buyer/0xYourAddress"

Status values:

  • pending - Submitted to publisher, awaiting review
  • accepted - Publisher accepted, article in production
  • published - Article is live (includes publishedUrl)
  • rejected - Publisher declined (rare, usually pre-validated)
Info

Prices in API responses are in USDC wei (6 decimals). Divide by 1,000,000 to get USDC amount.

Browse Sites (Free)

bash
GET https://x402.anyspend.com/ads/sites

List all sites accepting article submissions. Same endpoint as ad marketplace - sites support both ads and articles.

bash
curl "https://x402.anyspend.com/ads/sites?limit=20"

AI Validation Tips

Good: "How to Build a DEX on Base with Uniswap V3"

Bad: "DeFi stuff"

Specific titles score higher and are more likely to be approved.

Check site keywords and description before submitting. A Base-focused article won't score well on a Solana-only site.

Good: "How to Use Base Pay for Creators in Your DApp"

Bad: "base pay creators"

Complete titles (10-200 chars) get higher scores.

If you have a viral tweet about your topic, use the URL! AI extracts context and generates a relevant title.

Common Issues

Your topic doesn't fit the site's focus. Options:

  • Choose a different site that matches your topic better
  • Adjust your topic to align with the site's keywords
  • Provide a more specific, detailed title

You must call /articles/validate first and get approval before calling /articles/buy.

You need USDC on Base network. Check that:

  • You're connected to Base (Chain ID: 8453)
  • You have enough USDC for the article price
  1. Your request goes to the publisher for review
  2. Publisher evaluates your pitch (typically 1-7 days)
  3. If accepted, they'll write/publish the article
  4. You'll receive the published URL once live

Track status via /articles/requests/buyer/:address

No, submissions are locked after payment. Make sure your content is correct before submitting.

Publishers rarely reject pre-validated content, but if they do, the status will show "rejected". Refunds are handled case-by-case - contact the publisher directly.

Zero Gas with x402

x402 is the payment protocol that makes crypto payments feel like web2.

Traditional crypto payments:

  • ❌ Multiple transactions (approve + transfer)
  • ❌ $5-15 in gas fees
  • ❌ 30-60 second wait times
  • ❌ Complex multi-step flows

With x402:

  • ✅ One signature - no transactions
  • ✅ Zero gas fees
  • ✅ Instant settlement
  • ✅ Simple one-click submission

How It Works

  1. You sign a payment authorization message (not a transaction)
  2. x402 facilitator submits the transaction for you
  3. Facilitator pays the gas
  4. You pay only the article price
Warning

Always verify the amount and recipient before signing!

Security

  • ✅ You control the signature
  • ✅ Signatures expire (can't be replayed)
  • ✅ One-time use with unique nonce
  • ✅ Amount is locked (can't charge more)

Related: Ad Marketplacex402 Overviewx402scan →