x402 Crypto Ads

Advertise on crypto sites with zero gas fees using x402

Check out the x402 Ad Marketplace (UI)

Buy advertising space on 100+ crypto content sites using USDC with zero gas fees thanks to x402 gasless payments.

No Gas Fees

Pay only the ad price - zero transaction fees

Instant Booking

One signature and you're live

100+ Sites

Choose from crypto news, DeFi, NFT sites

AI-Powered Content

Submit articles with AI validation and generation

Real Analytics

See traffic data before you buy

Track Everything

Monitor your ads and article requests in real-time

Quick Start

Connect Wallet

Visit x402 Ad Marketplace and connect your wallet on Base network

Browse Sites

Explore sites with traffic stats, pick your target audience

Choose Format & Time

Select ad format (Banner/Sidebar/Leaderboard) and time slot

Upload Ad

Provide image URL and landing page

Sign & Pay

One signature with USDC - zero gas fees - instant confirmation

Connect Wallet

Visit x402 Ad Marketplace and connect your wallet on Base network

Select Target Site

Choose from crypto news sites that accept article submissions

Submit Your Idea

Provide a tweet URL, topic, or complete article title

AI Validation

Get instant AI feedback with score (0-100) and suggestions

Review & Submit

If approved (score ≥70), submit with one x402 signature

Track Progress

Monitor status and get notified when published

Note

Need USDC on Base? Bridge from Ethereum using Base Bridge

Ad Formats & Pricing

970×250 pixels - Wide banner format

Price: 1 USDC/hour

Best for cost-effective campaigns with good visibility

300×600 pixels - Vertical side placement

Price: 2 USDC/hour

Best for persistent visibility as users scroll

728×90 pixels - Top banner position

Price: 3 USDC/hour

Best for maximum visibility and brand awareness

Duration: 1 hour minimum, 7 days (168 hours) maximum

Article Submissions

Submit article ideas to crypto content sites. AI validates your topic and generates optimized titles and descriptions.

How It Works

Submit Topic or Tweet

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

AI Validation (Free)

AI scores your content (0-100) and generates suggestions if needed

Get Approval

  • Score ≥80: Your input is perfect, accepted as-is
  • Score 70-79: Approved with AI-improved suggestions
  • Score <70: Rejected - try a different topic

Submit & Pay

One x402 signature to submit your article request

Publication

Site publishes your article and you receive the live URL

Pricing

Prices vary by site, typically $3-50 USDC per article. Each site sets their own rate based on traffic and audience.

Note

Validation is free! You can validate as many ideas as you want before committing to payment.

API Reference

Network & Payment Details

Network Base

Chain ID: 8453

6 decimals

ERC-20 Permit signatures

Max Price $1000

Maximum price per booking

Purchase Ad Slot (x402 Payment)

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

Programmatically purchase ad slots using x402 gasless payments. This endpoint requires x402 payment authorization.

Request Body:

{
  "productId": "slot_abc123",
  "buyerAddress": "0x742d35Cc6...",
  "startTime": "2025-01-15T14:00:00Z",
  "endTime": "2025-01-15T18:00:00Z",
  "adContent": {
    "imageUrl": "https://...",
    "linkUrl": "https://...",
    "altText": "Alt text",
    "title": "Ad title",
    "description": "Description"
  }
}

Parameters:

  • productId (required) - The ad slot ID from /ads/slots
  • buyerAddress (required) - Your wallet address
  • startTime (required) - Start time in ISO 8601 format
  • endTime (required) - End time in ISO 8601 format
  • adContent.imageUrl (required) - Direct URL to ad image
  • adContent.linkUrl (required) - Landing page URL
  • adContent.altText (required) - Image alt text
  • adContent.title (optional) - Ad title
  • adContent.description (optional) - Ad description

JavaScript/TypeScript Example:

typescript
import { wrapFetchWithPayment } from '@b3dotfun/anyspend-x402-fetch'; import { createWalletClient, custom, publicActions } from 'viem'; import { base } from 'viem/chains'; // Create wallet client const walletClient = createWalletClient({ account: '0x742d35Cc6...', chain: base, transport: custom(window.ethereum), }).extend(publicActions); // Wrap fetch with x402 payment const fetchWithPayment = wrapFetchWithPayment( fetch, walletClient, BigInt(1000 * 10 ** 6) // Max 1000 USDC ); // Purchase ad slot const response = await fetchWithPayment( 'https://x402.anyspend.com/ads/buy', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ productId: 'slot_abc123', buyerAddress: '0x742d35Cc6...', startTime: '2025-01-15T14:00:00Z', endTime: '2025-01-15T18:00:00Z', adContent: { imageUrl: 'https://example.com/ad.jpg', linkUrl: 'https://example.com', altText: 'My ad', title: 'Check out our product!', description: 'Limited offer' } }) } ); const result = await response.json(); console.log('Booking ID:', result.data.bookingId);
Note

See x402 SDK documentation for more details on using wrapFetchWithPayment.

Browse Sites (Free)

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

List all available sites with pagination. This endpoint is free to call.

Query parameters:

  • page - Page number (default: 1)
  • limit - Results per page (default: 20, max: 100)
  • search - Search by name/domain/keywords
curl "https://x402.anyspend.com/ads/sites?search=defi&limit=10"

List All Slots (Free)

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

List all available ad slots across all sites. This endpoint is free to call.

curl "https://x402.anyspend.com/ads/slots"

Get Slot Details (Free)

bash
GET https://x402.anyspend.com/ads/slots/:slotId

Returns static slot information including pricing, format, and associated site details. This endpoint is free to call.

curl "https://x402.anyspend.com/ads/slots/slot_banner_abc123"

Check Current Ad (Free)

bash
GET https://x402.anyspend.com/ads/slots/:slotId/current-ad

Returns the ad currently running in this slot, or indicates if the slot is available. This endpoint is free to call.

curl "https://x402.anyspend.com/ads/slots/slot_banner_abc123/current-ad"

View Your Campaigns (Free)

bash
GET https://x402.anyspend.com/ads/bookings/buyer/:address

Track all your ad bookings - active, pending, and completed. This endpoint is free to call.

curl "https://x402.anyspend.com/ads/bookings/buyer/0xYourAddress"

Status values:

  • active - Currently running
  • pending - Scheduled for future
  • completed - Campaign ended
Info

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


Article Submission Endpoints

Validate Article Idea (Free)

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

Validate an article idea and get AI-generated title and description. This endpoint is free to call - no payment required.

Request Body:

{
  "siteDomain": "baseradar.com",
  "userInput": "How to Use Base Pay for Creators in Your DApp"
}

Parameters:

  • siteDomain (required) - Target site domain (e.g., "baseradar.com", "solanaecho.com")
  • userInput (required) - Can be:

AI Scoring:

  • Score ≥80: Your input is perfect! Used as-is
  • Score 70-79: Good content, AI provides improved suggestions
  • Score <70: Rejected - topic doesn't fit the site

JavaScript Example:

javascript
const response = await fetch('https://x402.anyspend.com/articles/validate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ siteDomain: 'baseradar.com', userInput: 'How to bridge assets to Base chain' }) }); const result = await response.json(); console.log('Approved:', result.data.approved); console.log('Score:', result.data.score); console.log('Title:', result.data.suggestedTitle);

Submit Article Request (x402 Payment)

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

Submit an article request with x402 gasless payment. Requires prior validation approval.

Request Body:

{
  "buyerAddress": "0x742d35Cc6...",
  "siteDomain": "baseradar.com",
  "title": "How to Use Base Pay for Creators in Your DApp",
  "description": "Learn how to integrate Base Pay into your decentralized application..."
}

Parameters:

  • buyerAddress (required) - Your wallet address
  • siteDomain (required) - Target site domain
  • title (required) - Article title (10-200 characters)
  • description (required) - Article description/summary

JavaScript/TypeScript Example:

typescript
import { wrapFetchWithPayment } from '@b3dotfun/anyspend-x402-fetch'; import { createWalletClient, custom, publicActions } from 'viem'; import { base } from 'viem/chains'; // Create wallet client const walletClient = createWalletClient({ account: '0x742d35Cc6...', chain: base, transport: custom(window.ethereum), }).extend(publicActions); // Wrap fetch with x402 payment const fetchWithPayment = wrapFetchWithPayment( fetch, walletClient, BigInt(1000 * 10 ** 6) // Max 1000 USDC ); // Submit article request 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: 'How to Use Base Pay for Creators in Your DApp', description: 'Learn how to integrate Base Pay into your decentralized application for seamless creator payments.' }) } ); const result = await response.json(); console.log('Request ID:', result.data.requestId);

View Your Article Requests (Free)

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

Track all your article requests - pending, in progress, and published. This endpoint is free to call.

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

Status values:

  • pending - Waiting for site to write article
  • in_progress - Article is being written
  • published - Article is live (includes publishedUrl)
  • rejected - Article request was declined

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 purchase

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 ad 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)

Tips for Success

  • Use high contrast colors
  • Keep text large and readable
  • Include a clear call-to-action
  • Test image URL before booking
  • Match sites to your target market
  • Check traffic stats before booking
  • Consider multiple smaller sites vs one large site

Use UTM parameters in your landing page URL:

text
https://yoursite.com?utm_source=sitename&utm_medium=banner
  • Book 1-2 hours first to test
  • Monitor click-through rates
  • Scale up what works
  • Keep titles between 10-200 characters
  • Be specific and descriptive
  • Match the site's content focus
  • Use keywords relevant to the site's audience
  • If you have a great title, submit it directly (10+ chars)
  • Research the site before submitting
  • Check recent articles for tone and topics
  • Tweet URLs work great - AI extracts context
  • Validate multiple ideas before paying
  • Score ≥70 required for approval
  • If score is 70-89, review AI improvements
  • AI optimizes for SEO and engagement
  • Suggested descriptions enhance your submission
  • Use validation to refine your pitch

Common Issues

You need USDC on Base network. Check that:

  • You're connected to Base (Chain ID: 8453)
  • You have enough USDC for the total cost

Someone just booked that slot. Refresh and choose a different time.

Currently, bookings cannot be cancelled or refunded. Make sure your ad is ready before booking.

No, ad content is locked at booking time. You'll need to make a new booking to change it.

Launch Your Campaign

Start advertising on crypto sites in 5 minutes


Related: Article Submission Marketplacex402 Overviewx402scan →

Ask a question... ⌘I