FastAPI Server Integration

Start accepting x402 payments in your FastAPI server in 2 minutes

Step 1: Install dependencies

pip install x402 fastapi uvicorn python-dotenv

Step 2: Set environment variables

ADDRESS=2HLDaAizrVqA7LzScQcCJeefAFmVKsCTPN8Y8H3t7MCD
FACILITATOR_URL=https://getconduit.io/api/facilitator
NETWORK=solana-devnet

Step 3: Create FastAPI app

import os
from fastapi import FastAPI
from dotenv import load_dotenv
from x402.fastapi.middleware import require_payment
from x402.facilitator import FacilitatorConfig

load_dotenv()

ADDRESS = os.getenv("ADDRESS")
FACILITATOR_URL = os.getenv("FACILITATOR_URL")

facilitator_config = FacilitatorConfig(url=FACILITATOR_URL)
app = FastAPI()

app.middleware("http")(
    require_payment(
        path="/weather",
        price="$0.001",
        pay_to_address=ADDRESS,
        network="solana-devnet",
        facilitator_config=facilitator_config,
    )
)

@app.get("/weather")
async def get_weather():
    return {"weather": "sunny", "temperature": 70}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=4021)

Step 4: Run the server

uvicorn main:app --reload

Your server is now accepting x402 payments!