Dashboard & Analytics
Track your payments and manage API keys at https://x402mantlesdk.xyz/dashboard
Getting API Keys
For Hosted Facilitator
- Sign in to dashboard
- Create a new project
- Copy your API key
- Use in server config:
const pay = mantlePaywall({
priceUsd: 0.01,
payTo: '0x...',
facilitatorUrl: 'https://facilitator.x402mantlesdk.xyz',
apiKey: 'your-api-key'
});
For Analytics Only (Self-Hosted)
Even with self-hosted facilitator, you can use analytics:
- Create project in dashboard
- Get project key (different from API key)
- Add to telemetry config:
const pay = mantlePaywall({
priceUsd: 0.01,
payTo: '0x...',
facilitatorUrl: 'https://your-facilitator.com',
telemetry: {
projectKey: 'pk_xxx'
}
});
Telemetry Setup
Server-Side Telemetry
import { mantlePaywall } from '@puga-labs/x402-mantle-sdk/server/express';
const pay = mantlePaywall({
priceUsd: 0.01,
payTo: '0x...',
telemetry: {
projectKey: 'pk_xxx', // Required for analytics
debug: true // Optional: log telemetry events
}
});
Self-Hosted Facilitator Telemetry
In your facilitator's .env:
TELEMETRY_PROJECT_KEY=pk_xxx
What Data is Sent
Sent:
- Buyer address
- Amount (in atomic units)
- Asset address
- Network
- Transaction hash
- Timestamp
- Route (API endpoint)
- Response status
NOT Sent:
- Private keys
- Request/response payloads
- Personal information
- IP addresses
Telemetry is Fire-and-Forget
- Never blocks your requests
- Errors are swallowed (logged in debug mode)
- If analytics backend is down, payments continue normally
Monitoring Payments
Dashboard Features
- Real-time payment feed
- Daily/weekly/monthly statistics
- Revenue charts
- Per-endpoint breakdown
- Transaction explorer links
Manual Tracking with Callback
const pay = mantlePaywall({
priceUsd: 0.01,
payTo: '0x...',
onPaymentSettled: async (entry) => {
// Save to your database
await db.payments.create({
paymentId: entry.id,
from: entry.from,
amount: entry.valueAtomic,
txHash: entry.txHash,
route: entry.route,
timestamp: new Date(entry.timestamp)
});
// Send notification
await slack.send(`Payment received: $${Number(entry.valueAtomic) / 10000} from ${entry.from}`);
}
});
Dashboard Metrics
Total Transactions
Track all payment events processed through your API.
Success Rate
Percentage of transactions that successfully settled on-chain.
Delivery Rate
Percentage of successful payments where the service was delivered to the user.
Total Volume
View total payment volume in USD across all your endpoints.
Next Steps
- API Reference - Technical documentation
- Examples - Full working examples