Routes and earnings, last 7 days
Add pay-per-call pricing to any API in a few lines, with a test mode so agent builders can try it in minutes.
Calls (7d)
412Paid calls
336Earned (7d)
1.184 USDCLive routes
4Activity, last 30 days
TotalUnique
Breakdown
- Middleware snippet for Node...62%
- Client SDK that detects...21%
- Test mode with fake...17%
| Route | Price | Calls | Paid | Unpaid (402) | Earned |
|---|---|---|---|---|---|
| GET /v1/forecast | 0.002 USDC | 184 | 151 | 33 | 0.302 USDC |
| GET /v1/tides/:port | 0.004 USDC | 96 | 83 | 13 | 0.332 USDC |
| POST /v1/route-plan | 0.010 USDC | 47 | 41 | 6 | 0.410 USDC |
| GET /v1/alerts | 0.001 USDC | 85 | 61 | 24 | 0.061 USDC |
| GET /v1/historical | 0.003 USDC | 0 | 0 | 0 | 0.000 USDC |
Latest signed receipts
- GET /v1/route-planagent 5dQ2...vN8k, 0.010 USDC, 2 min agosettled
- GET /v1/forecastagent Bz7K...m4Hy, 0.002 USDC, 6 min agosettled
- GET /v1/tides/:portagent 5dQ2...vN8k, 0.004 USDC, 11 min agsettled
- GET /v1/alertsno payment header, 14 min ago402 sent
Paid calls per day
Paid calls per day over the last 7 days. Peak on Friday.
Environment
Test mode (fake balances)
Return payment details in 402 body
Allow unpaid calls to /v1/health
Settlement
Fq3m...CkQeProvider wallet
0 USDCUnsettled
1.4 sAvg confirm time
Welcome to Nickel
Connect a Solana wallet to set up your workspace. Nickel only reads your public address.
- Middleware snippet for Node and edge runtimes that sets a per-route price and returns 402 with payment detailsPlanned
- Client SDK that detects 402, asks the agent wallet to sign a Solana payment, and retries the callPlanned
- Test mode with fake balances and a hosted demo endpoint for trying the full loopPlanned
- Dashboard of calls, paid versus unpaid requests and earnings per routePlanned
- Direct settlement to the provider's wallet with no custody and signed receipts for each callPlanned
Routes
Prices and status for each paid endpoint
Priced routes
| Route | Price | Token | Mode | Status |
|---|---|---|---|---|
| GET /v1/forecast | 0.002 | USDC | live | active |
| GET /v1/tides/:port | 0.004 | USDC | live | active |
| POST /v1/route-plan | 0.010 | USDC | live | active |
| GET /v1/alerts | 0.001 | USDC | test | testing |
| GET /v1/historical | 0.003 | USDC | test | draft |
Add a route
Results appear here.
- GET /v1/wind added in test modesaved
Calls
Paid and unpaid requests as they arrive
Recent requests
- POST /v1/route-planagent 5dQ2...vN8k, 212 mspaid
- GET /v1/forecastagent Bz7K...m4Hy, 88 mspaid
- GET /v1/alertsagent Hc9R...2wDs, no payment headerunpaid
- GET /v1/tides/:portagent 5dQ2...vN8k, 141 mspaid
- GET /v1/forecastagent Jm4V...tE6p, payment expiredunpaid
Calls per hour today
Hourly calls since midnight UTC.
Test mode
Fake balances and a hosted test endpoint
Test agents
3Agent keys
11.74Fake USDC left
29Test calls today
Agent log from the test endpoint
GET https://test.nickel.dev/echo
402: pay 0.001 USDC to test wallet. Fake balance 5.000.
Signed payment, retrying with proof.
200 OK. Receipt r_test_0042. Fake balance 4.999.
Test options
Simulate slow confirmation
Simulate insufficient balance
Auto-refill fake balance
Go live
Switch from fake funds to real settlement
Checklist
Add your walletPaste the Solana address that should receive USDC.
Send a 0.001 USDC checkConfirm a real payment lands in your wallet on Solscan.
Flip the modeChange mode from test to live in your config.
One-line switch
app.use(nickel({
payTo: "Fq3mT8vYb2KzR7nXcWd5HsJ9pLgA4eUa6BtNyV1xCkQe",
mode: "live", // was "test"
routes
}));Your wallet
Live: balances read from Solana after you connect. Read-only, nothing to sign.
Connection
LiveConnect Phantom, Solflare or Backpack. Nickel only reads your public address and balances.
W
SOL balance...
Token accounts
LiveConnect a wallet to list its tokens.