Launch a trading agent that has to pass a policy check before it can do anything
AndesHelm runs a simple, mechanical trading strategy for you and checks every single action
it proposes against a policy engine before that action can execute. If the check says no,
the order never reaches the exchange — not because the strategy behaved, but because
nothing can get past the check.
This guide walks through a run end to end: getting a test account, authorising an agent
wallet safely, launching, and reading what your agent actually did.
This is a beta, and the honest version of what that means:
Use testnet. Testnet money is not money, the faucet gives you some for
free, and everything in this guide works there. Real orders have been placed and filled on
testnet; nothing has been run on mainnet yet.
The way we handle your agent wallet key has not had an independent security review. Until
it has, treat mainnet as off. A policy engine reduces the chance of a bad trade; it does
not remove it, and no part of this is a guarantee against loss.
STEP 1
Get a test account with money in it
Make a new wallet for this. Not one you already use. Step 2 needs its
private key, and a wallet you created for testing is a wallet you can afford to be careless
with.
Claim test funds from the faucet at asterdextestnet.com/en/faucet — connect
the new wallet and claim.
Check the funds arrived by signing in at asterdex-testnet.com.
A browser wallet — MetaMask, Rabby or similar. You already need one for the faucet.
Easy to miss
The exchange keeps two separate wallets: spot and futures. AndesHelm
trades futures, and a futures order can only draw margin from the futures wallet. Faucet
funds may land in spot, which looks like a funded account that cannot place a single
order — the error you get is Margin is insufficient.
If that happens you do not need to leave the launchpad: the running agent shows your
available margin, with a Move from spot control beside
it. It moves your own funds between your own two wallets and cannot send anything out of
your account.
STEP 2
Authorise an agent wallet
An agent wallet is a second wallet you authorise to trade on your account.
AndesHelm signs orders with its key. It is not your funding wallet and it should never hold
anything.
The permissions you set when you authorise it are what actually protect you, because unlike
an API key a private key cannot be scoped or revoked after it leaks. Authorise it with:
Setting
Value
Why
canWithdraw
false
The one that matters. A leaked trade-only key cannot move funds out — the worst case becomes unwanted trades, not an emptied account.
canPerpTrade
true
AndesHelm places perpetual futures orders.
canSpotTrade
false
Nothing here needs it.
expired
As short as Aster allows
The agent stops working by itself at this time, and that is the only way an approval ends — there is no cancel. Aster refuses anything expiring within 24 hours, so just over a day is the shortest available. There is no maximum, which is why the floor is worth knowing.
The exchange's own web form does not hand back the agent's private key and does not expose
these permission flags, so it cannot be used for this. The launchpad does it instead.
In the launchpad
Open the launchpad, tick Trade for real, choose Testnet,
and use Create an agent wallet here. Connect the wallet you funded from the
faucet, set how long the agent should live, and approve. Your wallet shows you a signature
request; there is no transaction and no gas.
The keypair is generated in your browser and the signer address and key are filled into the
form for you. The permissions in the table above are fixed — you are not asked to get them
right, and they are what the signature commits to.
What leaves your machine
Your funding wallet's private key never does. Your wallet extension signs
the approval and only the signature is sent, straight to the exchange — nothing of ours
sits in between. Nobody should ever ask you for the key itself, including us.
The agent key is generated in the page and goes to AndesHelm when you launch,
where it is held in memory only while the agent runs and discarded when you stop it. It is
approved canWithdraw=false, so even if it leaked it could not move funds out
of your account.
Or from the command line
If you would rather not connect a wallet to the launchpad, the same thing is a script. It
needs Node 20 or newer and your funding wallet's private
key in an environment variable — which is why it is no longer the first choice.
Download aster-agent.mjs, then, in the folder you saved it to:
npm install ethers
# on macOS or Linux
export ASTER_USER_PRIVATE_KEY=0x… # the wallet you funded in step 1
# on Windows PowerShell
$env:ASTER_USER_PRIVATE_KEY = "0x…"
node aster-agent.mjs register --network testnet --hours 48
It prints the agent's signer address and private key once. Keep them for
step 3. It refuses to run against mainnet, deliberately.
This lists what is authorised on your account, so you can confirm for yourself that the
approval really carries canWithdraw=false and see when it lapses — worth doing
rather than taking our word for it.
Balances and moving spot funds into futures used to be commands here too. They are in the
launchpad now, run against the key it already holds, so you do not need to keep the agent
key on your own machine after this step. They remain in the tool for diagnosis.
Locking the key to one machine
register takes an optional --ip. It sets an
IP whitelist on the approval, and Aster confirmed to us that this
restricts every request signed by that agent wallet, trading included — not just
withdrawals. With one set, a copy of the agent key is useless to anyone who is not at those
addresses.
Two things to know before using it. An approval cannot be edited afterwards,
so a wrong address means waiting for expired to lapse and registering again.
And a whitelist that does not include your own address stops the agents check
above from working from your machine — run it first. If you want the strictest setup, the
address to whitelist is the launchpad's, which we will give you: ask before you register.
Stuck on any of it? Ask us — during a beta that is expected,
not an imposition.
To revoke an agent before it expires, use the exchange's own interface. AndesHelm does not
offer it yet — the endpoint exists, but its signing scheme is not published, and guessing at
one for the call whose whole purpose is stopping a compromised key is not a guess worth
making.
Anything unused. It becomes yours the moment you launch, and its track record accumulates under it — so reuse the same name if you run again. Only this browser can control it.
Strategy
See below. Dip DCA is a reasonable first choice.
Asset
A symbol the exchange lists, like ETHUSDT. Avoid BTCUSDT — its step size means an order needs roughly $77 to be valid at all. Most symbols need $5.
Position size
The size of the position, not the money you put in. Leverage does not multiply it. $100 at 3x is a $100 position using about $33 of margin — for a $300 position, enter 300.
Leverage
Optional. Set on your account for that symbol before each order and confirmed against what the exchange applied. Note it stays on your account for that symbol afterwards. The policy engine may refuse a value it considers too high.
Strategy settings
Some strategies have numbers you choose — a dip threshold, a price to buy under. They appear under the strategy once you pick one, with what each does. Defaults are filled in.
Run interval
How often the strategy gets to decide. Start slow — every 60s.
Your limits
Optional caps for this agent, on top of the platform's. See below.
Real execution
Turn on, choose Testnet, and paste the signer address and private key from step 2.
Check before you walk away
The chip on the running agent should read Testnet execution. If it says
Mainnet execution — real funds, stop it immediately: you chose the wrong network
and real money is at stake.
Your own limits
The policy engine already applies the platform's limits to every action. The
Your limits section lets you set stricter ones for this agent — a smaller
maximum position, a lower leverage cap, a smaller spend per action.
You can only make it stricter. Asking for more room than the platform
allows has no effect at all: the engine takes whichever limit is tighter, yours or its own.
That is deliberate — a limit a user could raise would not be a limit. Leave the fields blank
to use the platform's.
The running agent shows which limits it is under, so an agent you launched with tighter
limits does not look identical to one on the defaults.
Your agent wallet key is sent once, held in memory only while the agent runs, and discarded
when you stop it. It is never written to disk, never logged, and never returned by anything.
Stopping and relaunching asks for it again, which is the point.
STEP 4
What the strategies actually do
All four are mechanical rules you can check by hand against the price. None is
"AI-optimised", none predicts anything, and each reads the live market rather than running
on a timer. Each says what it does in a bad market, not only a good one.
Where a strategy has a number in it, you choose the number — how far below
average counts as a dip, what price to buy under. The rule itself stays fixed, which is what
lets us tell you honestly what it does when the market goes against you.
Strategy
Rule, and what it does in a bad market
You set
Sells?
Flat DCA
Buys the same amount every interval regardless of price. The baseline to compare the others against — not the safe one. In a sustained fall it keeps buying all the way down and never exits.
—
No
Dip DCA
Buys only when the price is far enough below its 24-hour average; sits out otherwise. Being below average is not the same as being cheap — in a market that keeps falling it buys repeatedly all the way down. A bigger threshold means fewer, later buys, not safer ones.
How far below average counts as a dip
No
Price triggers
Buys while the price is under a level you set, closes once it is over another. Nothing in between. Both levels are numbers you chose and the market does not know about them: if the price falls straight through your buy level it keeps buying all the way down, and if it never reaches your sell level the position is never closed. Set them too close together and it trades back and forth, paying fees each time.
Buy below, sell above
Yes
Trend with exit
Buys while the price is above its 24-hour average and closes when it falls below. In a flat market it can buy and close repeatedly, paying fees each time. The average lags, so it enters late and exits after a fall has begun.
—
Yes
A strategy sitting out is it working. An agent that declined ten intervals in a row and said
why each time is behaving exactly as described.
STEP 5
Reading the activity log
Every interval produces one entry. There are four kinds and they mean different things.
Entry
What happened
Allowed
The policy check passed and the order was placed. The note says what was bought or closed, at what leverage, and how much margin it used.
No action
The strategy chose not to trade, and says why — "price is 0.4% from its 24h average, not 1% below it — waiting". Nothing was submitted. This is normal.
Blocked
The policy engine refused the action. It never reached the exchange. The reasons say which limit it hit.
Not executed
The policy check passed but the exchange refused the order — insufficient margin, below the minimum size, a leverage it would not apply. The exchange's own reason is shown first.
Check failed
The policy engine could not be reached. Nothing was executed; the agent keeps running and tries again next interval.
The panel above the log shows what the agent is running with — strategy, asset, position
size, leverage, interval, venue, and your available margin. If an order was refused for
margin, that is where to look first.
STEP 6
Pause, stop, and launching again
Control
What it does
Pause
Halts the schedule and keeps everything else — your agent wallet key stays in memory, so resuming does not ask for it again, and the strategy carries on rather than restarting.
Stop
Ends the agent and discards the key. This is the one that clears it. Launching again asks for the key.
Launch again
Runs a stopped agent under the same name, so its track record continues instead of starting over. Everything is filled back in except the key.
Launch another
Goes back to the form. If the current agent is still running it asks first — you can run several at once, but leaving one running should be a choice, not an accident.
Two things to know
Control lives in this browser. The key that proves an agent is yours is
stored here and nowhere else. From another browser you cannot stop your own agent.
A restart ends running agents. Agents are held in memory, so a deploy
ends them — the page tells you when that has happened, and your track record survives.
Launch again to carry on.
STEP 7
When something is wrong
What you see
What it means
Margin is insufficient
Your futures wallet cannot back the order — the money is probably in spot. Check available margin on the running agent and use Move from spot beside it.
No agent found
The agent wallet is not authorised on the account you funded, or its expiry has passed. Check with agents; agent wallets are short-lived by design, so register a fresh one.
below the exchange minimum
The position size is too small for that symbol. BTCUSDT needs about $77; most others need $5.
-5050 DEPOSIT_REQUIRED
Mainnet only: the account needs any deposit, however small, before futures endpoints work. Testnet has no such requirement.
accepted Nx, not the Mx…
The exchange capped your leverage for that symbol. The order was refused rather than run at a leverage the policy check never saw.
is claimed by someone else
That agent name belongs to another browser. Pick a different one.
Nothing happens for a long time
Probably normal — check the log for No action entries. Dip DCA sits out entirely in a rising market, and Price triggers does nothing between its two levels.
Blocked, and you did not expect it
Check Your limits on the running agent. A limit you set for this agent applies on top of the platform's, and the reasons say which one was hit.
What this is not
The verification badge an agent earns is a record of policy-checked actions, not a
prediction and not a guarantee. A template's track record describes what happened, not what
will. The policy engine caps what an agent can do; it cannot make a strategy profitable, and
none of these strategies is advice.
Found something this guide does not cover, or that it gets wrong?
Tell us — during a beta that is the most useful thing you
can send.