Skip to main content
Ultravioleta DAO is a hosted facilitator service that supports x402 v1 and v2 payment processing across 33+ networks. By using its endpoints, you can offload payment verification and settlement on SKALE Base.

Prerequisites

  • Node.js 18+ or Python 3.10+
  • A wallet with USDC.e on SKALE Base
  • Basic understanding of x402 protocol

Configuration

Environment Variables

Create a .env file with Ultravioleta DAO configuration:
# Receiver address for the x402 payment
RECEIVING_ADDRESS=0xYourWalletAddress

# please don't share your private key with anyone
PRIVATE_KEY=0xyour_pk

Integration with Ultravioleta DAO

Install dependencies:
npm install hono @hono/node-server uvd-x402-sdk dotenv
import { Hono } from 'hono';
import { serve } from '@hono/node-server';
import { createHonoMiddleware } from 'uvd-x402-sdk';
import 'dotenv/config';

const app = new Hono();
const receiver = process.env.RECEIVING_ADDRESS as string;

// Create x402 payment middleware for SKALE Base
const paywall = createHonoMiddleware({
  accepts: [{
    network: 'skale-base',
    asset: '0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20',
    amount: '1000000', // $1.00 USDC.e (6 decimals)
    payTo: receiver,
    extra: {
      name: 'Bridged USDC (SKALE Bridge)',
      version: '2',
    },
  }],
});

// Free endpoint — no payment required
app.get('/api/free', (c) => {
  return c.json({
    type: 'free',
    message: 'This endpoint is free!',
    timestamp: new Date().toISOString(),
  });
});

// Protected endpoint — middleware handles 402, verify, and settle automatically
app.get('/api/premium', paywall, (c) => {
  return c.json({
    type: 'premium',
    message: 'Payment verified and settled on SKALE Base!',
    timestamp: new Date().toISOString(),
  });
});

serve({ fetch: app.fetch, port: 3000 });
console.log('Server running on http://localhost:3000');

Troubleshooting

Connection Issues

If you cannot connect to the Ultravioleta DAO facilitator:
  1. Verify the facilitator URL is correct: https://facilitator.ultravioletadao.xyz
  2. Check network connectivity
  3. Review firewall settings

Payment Failures

Common causes and solutions:
IssueSolution
”Invalid signature” on SKALEVerify EIP-712 domain name is "Bridged USDC (SKALE Bridge)" with version "2"
Transaction revertsSKALE uses legacy (type 0) transactions — do not set maxFeePerGas
Balance shows 0Check USDC.e at 0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20, not native CREDIT
Network mismatchUse network name skale-base (Chain ID 1187947933)
Expired authorizationIncrease maxTimeoutSeconds

Next Steps

SKALE Supported Facilitators

See all available facilitators for SKALE

Run Your Own

Deploy your own facilitator infrastructure

Accept Payments

Protect endpoints with payment middleware

Make Payments

Build clients that handle x402 payments

Resources


This entity — Ultravioleta DAO — is deployed and actively supporting SKALE. These are 3rd party services that may have their own terms and conditions and privacy policies. Use these services at your own risk. AI and agents is a highly experimental space; the 3rd party software solutions may have bugs or be unaudited. You and your agents and your customers use all 3rd party services chosen at your own risk and per their terms.