plugin-pulsenetwork
v0.2.0
Published
ElizaOS plugin for Pulse Network: free catalog search over 77 paid-data verticals, and quote-first x402 paid fetches (USDC on Base) — every charge previews its exact price and recipient and executes only on a content-bound user confirmation, under a per-c
Maintainers
Readme
plugin-pulsenetwork
ElizaOS plugin for Pulse Network — live external data your agent's base model cannot know, paid per call via x402 with no API keys and no signup. As of August 2026 the fleet spans 77 verticals and 970+ endpoints (finance, crypto, macro, travel, sports, climate, health, legal, and more), typically $0.005–$0.50 per call in USDC on Base.
Every paid call is quote-first. The agent never spends on its own: it shows the exact price, asset, and recipient from the live 402 challenge, and the payment executes only when the user replies with that quote's confirmation code.
Actions
| Action | Cost | What it does |
| --- | --- | --- |
| SEARCH_PULSE_CATALOG | Free | Search the endpoint catalog; returns exact URLs, params, and USD prices. No wallet needed. |
| CHECK_TOKEN_SAFETY | quotes $0.015 | Quotes a deterministic pre-trade scan of an EVM token (rug/honeypot/concentration). Nothing is paid at this step. |
| PULSE_PAID_GET | quotes endpoint price | Quotes a call to a specific catalog endpoint URL. Free endpoints return immediately; paid ones produce a quote. |
| PULSE_CONFIRM_PAYMENT | executes a quote | The only action that moves money. Runs when the user replies pay <CODE> with the code from a quote; re-verifies code, requester, room, and expiry in code. |
A conversation looks like:
User: is 0x532f…42E4 safe to buy on base?
Agent: 💸 Payment required — nothing has been paid yet.
• Purpose: token safety scan for 0x532f…42E4 on base
• Endpoint: https://onchainpulse.theaslangroupllc.com/api/evmtoken?…
• Price: $0.015 (15000 atomic USDC)
• Asset: USDC on Base (eip155:8453, 0x8335…2913)
• Recipient: 0x50ab…12fc (Pulse Network fleet wallet)
Reply "pay 3FA2B1" within 10 minutes to authorize exactly this charge.
User: pay 3FA2B1
Agent: Paid $0.015 to 0x50ab…12fc for token safety scan for 0x532f…42E4 on base.
Token safety scan for 0x532f…42E4 on base: **CLEAR** …Install
bun add plugin-pulsenetwork # or npm i plugin-pulsenetworkimport { pulseNetworkPlugin } from "plugin-pulsenetwork";
export const character = {
// ...
plugins: [pulseNetworkPlugin],
};Configuration
| Setting | Required | Meaning |
| --- | --- | --- |
| EVM_PRIVATE_KEY | Only for paid actions | Base-mainnet key holding a few dollars of USDC. Same setting the official EVM plugin uses, so an already-configured agent wallet is reused — no second secret. |
| PULSE_MAX_PAYMENT_USD | No (default 0.60) | Hard per-call spend ceiling, enforced in code before any payment is signed. |
| PULSE_BUDGET_USD_PER_DAY | No (default 2.00) | Cumulative daily ceiling across all paid calls (UTC days), persisted in the runtime cache. |
| PULSE_AUTOPAY | No (default off) | Set to the literal string true to skip the per-charge confirmation. Only for headless, single-operator deployments — unsafe in shared rooms. Cap, budget, ledger, and pins still apply. |
Invalid values for the cap or budget disable paid calls entirely — they never silently fall back to a default.
How payment safety works
This plugin treats every 402 challenge — and every message that could trigger a spend — as untrusted input, and enforces policy in code, before signing:
- Per-charge user authorization, bound to the operation bytes. A paid action first fetches the 402 challenge without a signer in scope and quotes it: exact URL, amount, asset, network, recipient. The confirmation code is derived from a hash over exactly those bytes (plus a nonce), so a user's
pay <CODE>authorizes that charge and nothing else. Confirmations are only accepted from a user-authored message by the same user in the same room within 10 minutes; text authored by the agent (or planner) never validates. If the endpoint re-prices between quote and confirmation, the payment policy — which requires the signed amount to equal the quoted amount — refuses, and the user gets a fresh quote instead of a surprise. - Execute-once ledger + serialization. Each authorization is consumed before its payment executes and recorded in a durable charge ledger; duplicate or concurrent confirmations of the same quote execute at most once.
- Cumulative daily budget (
PULSE_BUDGET_USD_PER_DAY, default $2.00/day) on top of the per-call cap, debited before each payment. Failures that provably produced no signature credit the debit back; ambiguous failures keep it (over-counting our own spend is recoverable; under-counting is not). - Pinned recipient, asset, network, scheme — it will only ever sign an
exact-scheme, plain-EIP-3009 payment in USDC on Base mainnet (eip155:8453, asset0x8335…2913) to Pulse Network's published fleet wallet (0x50ab…12fc), with a bounded authorization window. A challenge naming any other recipient, token, chain, or transfer method is refused, never signed. - Per-call cap — challenges above
PULSE_MAX_PAYMENT_USD(default $0.60) are never quoted or paid. - Host allowlist on every outbound request — free or paid, the plugin only talks to
*.theaslangroupllc.com, over HTTPS, with redirects disabled. A prompt-injected URL cannot route a request (or a payment) anywhere else. - Your key stays local — it is read from runtime settings, used to sign EIP-3009 transfer authorizations in-process, and never logged or transmitted. Quoting requires no key at all.
Deployment assumptions
The spending controls (pending quotes, the execute-once charge ledger, and the daily budget counter) are stored via the runtime's durable, database-backed cache (getCache/setCache), so they survive restarts. Two guarantees rest on one writer per agent identity, the standard ElizaOS deployment:
- The execute-once ledger and the in-process payment lock together ensure a single authorization pays at most once. The runtime cache offers no compare-and-swap, so if you horizontally scale one agent identity across multiple processes sharing a cache, two simultaneous confirmations of the same quote could race the ledger check. Run one instance per agent identity (or place a durable mutex in front) if that matters to you.
- The budget counter is a read-modify-write; the same single-writer assumption keeps it exact.
Failure accounting is deliberately conservative: a charge is refunded to the budget only when the payer proves no payment signature was created (a typed, structured signal — never error-message text). Any ambiguous failure keeps the debit, so the daily ceiling can never be under-counted.
Verify without installing
- Catalog (free):
curl "https://pulse.theaslangroupllc.com/api/catalog?q=token%20safety" - A live 402 challenge (no payment happens):
curl -i "https://onchainpulse.theaslangroupllc.com/api/evmtoken?address=0x532f27101965dd16442E59d40670FaF5eBB142E4&chain=base" - Full machine-readable index:
https://pulse.theaslangroupllc.com/llms-full.txt
Notes
- Prices and coverage are set by each endpoint and may change; the quote reflects the live challenge, which is the source of truth.
- Token safety scans are deterministic data reports, not investment advice.
- Terms: https://pulse.theaslangroupllc.com — Pulse Network is operated by The Aslan Group LLC.
MIT © 2026 The Aslan Group LLC
