An alerting engine — it does not trade for you
Bring your own AI. We watch the market for it.
DMTrading is an alerting engine with a JSON rule language. Point your own assistant at our spec, describe the alert you want in your own words, and let it write the rule. We run that rule against live exchange and on-chain data and tell you the moment it fires — over Telegram, email or Slack.
Connecting a wallet is the sign-in and the sign-up. There is no email registration, no password, and we never ask for a private key — you sign a message, which costs no gas and moves nothing.
Three steps, and your assistant does most of one
-
1
Connect a wallet
A signature proves the wallet is yours. That signature is your account — there is nothing else to create, and no password to lose.
-
2
Issue a key, hand it to your AI
Your key is shown exactly once and stored only as a hash, so we cannot retrieve it for you — only replace it. Point your assistant at our OpenAPI spec, DSL schema or MCP endpoint and it can write rules from there. Reading the spec and checking a rule costs no holding; creating one needs a tier that grants that rule class, and the table below says which.
-
3
The fires come to you
We evaluate every armed rule and deliver each fire over the channels you verified — Telegram, email or Slack. Every fire names the condition that fired and, where the bar gave us one, the price behind it; coin-watcher and signal-alert fires also link to the bar on the chart that did it.
You submit JSON; we never prompt a model on your behalf. The plain-English confirmation of what a rule means is generated deterministically from the rule itself, so there is no model in the loop and nothing for a coin's name to inject into.
What it is not
This is the shortest way to understand the product. Everything below is a statement about the code, not a policy we intend to keep.
- It places no orders. Exchange adapters expose public market reads only; there is no credential, signing or order-placement path in the application.
- It holds no exchange keys, and never asks for one. Nothing we store can reach an account that holds your money.
- It takes no custody and moves no money. Nothing here can spend anything.
- It is not advice. A condition being met is a report, not a recommendation or a prediction.
Your account is sized by the NSF your wallet holds
NSF is an SPL token on Solana, and holding it is the whole model: nothing is spent, nothing is subscribed, nothing expires. We read the balance of a wallet you proved you own, on-chain — we never take custody of the token, and if you sell it your account simply falls back to a smaller one.
Gw5uPEK6LUBxG3tQpJa3SakqaFhYK2NWEmudSa99pump
Anyone can mint a token and call it NSF. Check this address against the explorer before you buy, and buy against the address rather than the ticker.
What a holding gets you
A tier is how many rules of each kind your account may hold at once. Running and paused rules both count against it — pausing one does not free its slot; deleting it does. A rule we have already suspended for being over the limit does not count, and neither does a one-shot that has already fired. A tier is satisfied at its minimum and not above it: the exact minimum qualifies, one token short of it does not.
| Tier | NSF held, min | Price alerts | Signal alerts | Conditions | Coin watchers | Baskets | Basket markets |
|---|---|---|---|---|---|---|---|
| free | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| starter | 100,000 | 3 | 1 | 1 | 0 | 0 | 0 |
| plus | 250,000 | 10 | 2 | 5 | 1 | 1 | 10 |
| pro | 1,000,000 | 25 | 5 | 10 | 3 | 1 | 20 |
These are the configured defaults on this deployment, not a price list — the operator can tune the table, and the limits your account actually has are always shown inside the app.
A wallet holding no NSF lands on the “free” row, which allows 1 price alert — available to you and to an API key with the matching write scope. Your AI can create every rule family shown in this table. When one class is at capacity, only a create in that class is refused; the 402 response names your tier, its limit, current use, and the next tier that raises it.
What we will and will not claim
What we hold ourselves to
- Anything that goes quiet says why. A rule we suspend keeps the reason on the rule itself, and hands it back on that rule through the API — so "why did this stop" is answered where the rule is. A dispatch that reached nobody is recorded with the reason it reached nobody. Your activity log is a narrower thing than that and we will not oversell it: it is the account's record — sign-ins, keys issued and revoked, changes an operator made — not a log of individual fires.
- A failed read is unknown, never "no". If we could not read the chain, we say that. We do not report it as a condition that was not met, or as a balance you do not hold.
- Coin watchers, signal alerts and conditions carry their own record. Every fire in those three classes is scored an hour and a day later, whatever the answer was, and any rate we show carries the number of fires behind it — a hit rate over five fires is not a hit rate. Price alerts are not scored.
What we will not tell you
- We do not promise uptime, returns, profit, or that any signal is a good one.
- We do not rank rules, recommend setups, or predict a direction. We report that the condition you described was met, and what happened after the last time it was.
- Acting on an alert is your decision and your risk. Crypto markets can lose you everything you put in them, and nothing on this page is advice. Read the risk disclosure before you rely on any of it.
Sign a message. Issue a key. Let your AI do the rest.
No card, no email, no password. Your wallet is the account, and what it holds is the plan.