x402 Article Placement
Publish articles on crypto content sites with our AI crypto writer and get visibility
Check out the x402 Article Marketplace (UI)
How It Works
Connect Wallet
Visit x402 Article Marketplace and connect your wallet on Base network
Choose Target Site
Select a crypto content site that matches your article topic
Provide Your Idea
Enter a tweet URL, topic idea, or complete article title
Review & Approve
See AI suggestions and approval score before paying
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"
Good with Suggestions! AI provides an improved version.
Your content is relevant but could be optimized. AI generates a better title and description while keeping your core idea.
Example Input: "base pay for creators"
AI Output: "Integrating Base Pay: A Complete Guide for Content Creators"
Rejected. Content doesn't fit the site's focus.
Your topic is off-topic for this site. Try a different topic or choose a different site that better matches your content.
Example: Submitting a cooking recipe to a crypto news site
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
Prices are set by individual publishers. Check the site details before submitting.
API Reference
Network & Payment Details
Chain ID: 8453
6 decimals
ERC-20 Permit signatures
Maximum price per submission
Validate Article Idea (Free)
bashPOST https://x402.anyspend.com/articles/validate
Free endpoint to validate your article idea. AI generates a title, description, and approval score.
Request Body:
{
"siteDomain": "baseradar.com",
"userInput": "How to use Base Pay for creators"
}{
"success": true,
"data": {
"approved": true,
"score": 85,
"reasoning": "Good topic for Base-focused site. AI optimized the title for better engagement.",
"suggestedTitle": "Integrating Base Pay: A Complete Guide for Content Creators",
"suggestedDescription": "Learn how to implement Base Pay in your creator platform with step-by-step examples and best practices.",
"estimatedPrice": "50000000",
"userProvidedTitle": false,
"message": "Content approved with AI suggestions"
}
}{
"success": true,
"data": {
"approved": true,
"score": 95,
"reasoning": "Excellent title! Clear, specific, and highly relevant to the site's audience.",
"suggestedTitle": "How to Use Base Pay for Creators in Your DApp",
"suggestedDescription": "Complete implementation guide for Base Pay",
"estimatedPrice": "50000000",
"userProvidedTitle": true,
"message": "Content approved as-is"
}
}{
"success": true,
"data": {
"approved": false,
"score": 45,
"reasoning": "Topic doesn't align with site's focus on Base ecosystem and DeFi. Consider submitting to a different site or adjusting your topic.",
"estimatedPrice": "50000000",
"message": "Content rejected - score too low"
}
}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)
bashPOST https://x402.anyspend.com/articles/buy
Submit an article request with x402 payment. You must validate your content first and receive approval.
Request Body:
{
"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."
}{
"success": true,
"data": {
"requestId": "req_789...",
"productSpecificId": "req_789...",
"totalPrice": "50000000",
"status": "pending"
}
}{
"success": false,
"error": "Content validation required before submission"
}Parameters:
buyerAddress(required) - Your wallet addresssiteDomain(required) - Target site domaintitle(required) - Article title (from validation or your own if score ≥90)description(required) - Article description (from validation or your own)
JavaScript/TypeScript Example:
typescriptimport { 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);
See x402 SDK documentation for more details on using wrapFetchWithPayment.
View Your Submissions (Free)
bashGET https://x402.anyspend.com/articles/requests/buyer/:address
Track all your article submissions - pending, accepted, and published.
curl "https://x402.anyspend.com/articles/requests/buyer/0xYourAddress"{
"success": true,
"data": [
{
"requestId": "req_789...",
"siteId": "site_123",
"siteName": "Base Radar",
"siteDomain": "baseradar.com",
"title": "Integrating Base Pay: A Complete Guide for Content Creators",
"description": "Learn how to implement Base Pay in your creator platform...",
"status": "published",
"totalPrice": "50000000",
"publishedUrl": "https://baseradar.com/articles/integrating-base-pay",
"createdAt": "2025-01-15T10:00:00.000Z",
"publishedAt": "2025-01-18T14:30:00.000Z"
},
{
"requestId": "req_790...",
"siteId": "site_456",
"siteName": "Solana Echo",
"siteDomain": "solanaecho.com",
"title": "Cross-Chain NFT Bridging: Solana to Base",
"description": "Technical guide on bridging NFTs between Solana and Base",
"status": "pending",
"totalPrice": "75000000",
"createdAt": "2025-01-20T08:15:00.000Z"
}
]
}Status values:
pending- Submitted to publisher, awaiting reviewaccepted- Publisher accepted, article in productionpublished- Article is live (includespublishedUrl)rejected- Publisher declined (rare, usually pre-validated)
Prices in API responses are in USDC wei (6 decimals). Divide by 1,000,000 to get USDC amount.
Browse Sites (Free)
bashGET https://x402.anyspend.com/ads/sites
List all sites accepting article submissions. Same endpoint as ad marketplace - sites support both ads and articles.
curl "https://x402.anyspend.com/ads/sites?limit=20"{
"success": true,
"data": [
{
"siteId": "site_123",
"siteName": "Base Radar",
"siteUrl": "https://baseradar.com",
"siteDomain": "baseradar.com",
"description": "News and analysis for the Base ecosystem",
"keywords": ["base", "defi", "nft", "gaming"],
"articlePrice": "50000000"
},
{
"siteId": "site_456",
"siteName": "Solana Echo",
"siteUrl": "https://solanaecho.com",
"siteDomain": "solanaecho.com",
"description": "Solana ecosystem news and tutorials",
"keywords": ["solana", "defi", "nft"],
"articlePrice": "75000000"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 156,
"hasNext": true
}
}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
- Your request goes to the publisher for review
- Publisher evaluates your pitch (typically 1-7 days)
- If accepted, they'll write/publish the article
- 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
- You sign a payment authorization message (not a transaction)
- x402 facilitator submits the transaction for you
- Facilitator pays the gas
- You pay only the article price
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 Marketplace • x402 Overview • x402scan →