HomeDocsFeaturesPricingHow It WorksCompareAboutAdvantagesUse CasesChangelogllms.txt

Pricing

Two ways to access premium features: subscribe with an API key, or pay per request with USDC.

FREE
$0/mo
Your own IP + limited arbitrary lookups
  • 120 requests/min
  • 10K requests/month
  • 10 arbitrary IP lookups/hour
  • 24 geolocation fields
  • 5 output formats
Get Free API Key
STARTER
$9/mo
Arbitrary IP lookups
  • 500 requests/min
  • 50K monthly quota
  • Arbitrary IP lookup
  • Country metadata API
  • Distance calculator
  • Email support
BUSINESS
$99/mo
Full intelligence suite
  • 2,000 requests/min
  • 1M monthly quota
  • Everything in Pro
  • Bulk lookup (100 IPs)
  • VPN/Proxy/Tor detection
  • Dedicated support
💳

Pay-Per-Request with USDC

No subscription needed. Pay only for what you use, instantly settled on-chain via the x402 protocol.

GET /json/{ip}
$0.001 per request
Full geolocation data for any IPv4/IPv6 address
GET /country-meta/{ip}
$0.001 per request
Country enrichment: capital, languages, currency, TLD
GET /company/{ip}
$0.002 per request
Company/ASN detection with domain and type
GET /distance/{ip1}/{ip2}
$0.002 per request
Haversine distance between two IPs in km and miles
POST /bulk
$0.01 per request
Batch lookup of up to 50 IP addresses

How It Works

1
Call any premium endpoint without an API key. You'll get a 402 Payment Required response with payment details.
2
Sign the payment with your wallet (EIP-712). The x402 client SDK handles this automatically.
3
Retry with the signed payment in the X-PAYMENT header. Your request is served instantly.
4
Settlement happens in the background on Base network. Typically under 1 second.

Quick Integration

Installnpm install @x402/fetch @x402/evm viemClick to copy
import { x402Client, wrapFetchWithPayment } from '@x402/fetch';
import { ExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';

// Setup wallet (use env var, never hardcode)
const signer = privateKeyToAccount(process.env.WALLET_KEY);

// Create x402 client
const client = new x402Client();
client.register('eip155:*', new ExactEvmScheme(signer));
const paidFetch = wrapFetchWithPayment(fetch, client);

// Call any premium endpoint — payment handled automatically
const res = await paidFetch('https://ipfast.dev/json/8.8.8.8');
const data = await res.json();
console.log(data.country, data.city);
Installpip install "x402[httpx]" eth-accountClick to copy
import os
from x402 import x402Client
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact import register_exact_evm_client
from x402.http.clients import x402HttpxClient
from eth_account import Account

# Setup wallet
account = Account.from_key(os.environ["WALLET_KEY"])

# Create x402 client
client = x402Client()
register_exact_evm_client(client, EthAccountSigner(account))

# Call any premium endpoint — payment handled automatically
async with x402HttpxClient(client) as http:
    res = await http.get("https://ipfast.dev/json/8.8.8.8")
    data = res.json()
    print(data["country"], data["city"])
Installgo get github.com/coinbase/x402/goClick to copy
package main

import (
    "encoding/json"
    "fmt"
    "net/http"

    x402 "github.com/coinbase/x402/go"
    "github.com/coinbase/x402/go/evm"
)

func main() {
    // Create x402 client with wallet
    client := x402.Newx402Client()
    client.Register("eip155:*", evm.NewExactEvmScheme(privateKey))
    httpClient := x402.WrapHTTPClientWithPayment(
        http.DefaultClient, client,
    )

    // Call any premium endpoint — payment handled automatically
    resp, _ := httpClient.Get(
        "https://ipfast.dev/json/8.8.8.8",
    )
    defer resp.Body.Close()

    var data map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&data)
    fmt.Println(data["country"], data["city"])
}
With API Keycurl -H "X-API-Key: sk_live_xxx" https://ipfast.dev/json/8.8.8.8Click to copy
# Option 1: Use an API key (simplest, no wallet needed)
curl -H "X-API-Key: sk_live_your_key_here"      https://ipfast.dev/json/8.8.8.8

# Option 2: Pay per request with x402
# Step 1 — Get payment requirements:
curl -s https://ipfast.dev/json/8.8.8.8
# Returns 402 with price, wallet, and network details

# Step 2 — Sign payment with x402 SDK and retry:
curl -H "X-PAYMENT: <base64-signed-payload>"      https://ipfast.dev/json/8.8.8.8

# Free endpoints (free API key required -- register at ipfast.dev/login):
curl https://ipfast.dev/json        # Your own IP
curl https://ipfast.dev/country     # Your country code
curl https://ipfast.dev/city        # Your city
Network: Base (Ethereum L2)
Token: USDC
Protocol: x402 (HTTP 402)
Settlement: ~1 second
Protocol Fee: 0%
Machine-readable pricing: /pricing.json

🚀 Try the API

Connect your wallet and make a real API call. Payment is handled automatically.