Skip to content

Releases: arkadianet/Argus

1.0.0-alpha.45

Choose a tag to compare

@arkadianet arkadianet released this 09 Sep 04:45

Alpha 45. Debug-signed test build; not for production funds.

Two external reviews of the code, one of the fund handling and one of the interface. Everything they found is fixed here. The native libraries were rebuilt for this release, so the fund-safety fixes are actually in the binary.

Fund safety (#109)

  • AgeUSD redemption paid your own input ERG to the recipient instead of returning it as change, and a partial redemption could not build a valid transaction at all. Both fixed.
  • Seed recovery stopped after five finished mixes, hiding any later live one.
  • Only ordinary sends kept mixed coins apart. Multi-recipient sends and every protocol path could spend a mixed box beside ordinary ones and link them on chain.
  • The mixer asked the node for your own box ids on every poll, and stealth scans sent your exact self-change scripts, both of which let a server follow you.
  • A withdrawal was marked finished the moment it was broadcast, so a dropped transaction left the money in the pool with the mix shown as done.

Interface (#110)

  • The shared error sheet could not lay out at all, so the persistent copyable error path was broken wherever it appeared. Same for the coin control actions and several card buttons.
  • Failures in ErgoPay, swap, AgeUSD, Duckpools, Rosen, create and restore no longer vanish as a snackbar.
  • A watched address that failed to load counted as zero and was summed into your total, so a bad connection looked like missing money.
  • Duckpools reported the ERG in a result box as the payout for token pools; it now names the token that came back.
  • Swap confirmation shows what you pay. Rosen's MAX leaves enough ERG for the fees.
  • Activity shows the same broadcasts and mix rounds Home does, and offers a retry instead of pretending history ended.
  • Removing a finished mix now says the completed transfer is unaffected. Receive says whether the address rotates, and sharing a receive request carries the amount.

Assets

File versionCode
argus-1.0.0-alpha.45-universal.apk 4046
argus-1.0.0-alpha.45-arm64-v8a.apk 6046
argus-1.0.0-alpha.45-x86_64.apk 8046

Nothing here is device-tested. AgeUSD redemption, the Duckpools token payouts and the stealth scan are the three worth exercising first.

1.0.0-alpha.44

Choose a tag to compare

@arkadianet arkadianet released this 08 Sep 01:03

Alpha 44. Debug-signed test build; not for production funds.

Dexy paused

Dexy's contracts were exploited on 8 September 2026. Argus no longer offers Dexy: no swap tab, no Discover card, no auto-buy route through it, and the Dexy screen shows a notice instead of its forms. Any DexyGold or USE you hold still shows in your wallet and can be sent. The code stays behind one switch for when a patched Dexy relaunches. (#108)

Assets

File versionCode
argus-1.0.0-alpha.44-universal.apk 4045
argus-1.0.0-alpha.44-arm64-v8a.apk 6045
argus-1.0.0-alpha.44-x86_64.apk 8045

1.0.0-alpha.43

Choose a tag to compare

@arkadianet arkadianet released this 07 Sep 02:27

Alpha 43. Debug-signed test build; not for production funds.

Mixer

  • A finished mix says where the money went (your public address or a stealth address of yours), that it counts in your balance and shows in Activity, and has a See transaction button. (#106)
  • Notification taps now open the screen they are about: Mix, Duckpools, or Activity. Tapping while locked shows why nothing happened. (#106)
  • Start sheet: dead pool rings are no longer offered, each ring has one fact line and one short note, red only when the fee is over five percent, and the time estimate sits on the level rows. The sheet respects the status bar. (#106)
  • Token rings from the pool are offered, named by the token. Funding is exact: ring amount plus the operator's commission in the token. Cards, notifications and Activity show the amount in the token. (#107)

Assets

File versionCode
argus-1.0.0-alpha.43-universal.apk 4044
argus-1.0.0-alpha.43-arm64-v8a.apk 6044
argus-1.0.0-alpha.43-x86_64.apk 8044

Nothing in this build is device-tested yet.

Argus 1.0.0-alpha.42

Choose a tag to compare

@arkadianet arkadianet released this 07 Sep 00:11

Unaudited prototype. Use only funds you can afford to lose. Debug-signed alpha; install over the previous alpha.

Mixer

  • One choice when starting: the mixing level, as in ErgoMixer. The level is the number of rounds, one mixing token each, with cost per box shown. The rounds slider is gone (#102).
  • Each ring says how many boxes there are to hide among, how fast it moved in the past week, and about how long the level takes there; the deepest ring is marked. A mix card shows the mixing tokens left on its box (#103).
  • Mixed coins stay apart: automatic coin selection leaves them alone, and a hand-picked set may hold them only on their own, with the reason shown in coin control (#104).
  • "Withdraw now" is the one way out, on half boxes too; "partner" instead of "counterpart"; the sheet says a mix takes days.

Home

  • Every Discover card explains itself before opening; "Explore all" opens a Discover page listing everything (#105).
  • Tools (Tokens, UTXO management, Mix) live on the home screen, not under Settings.

versionCode 4043 (arm64 6043, x86_64 8043).

Argus 1.0.0-alpha.41

Choose a tag to compare

@arkadianet arkadianet released this 06 Sep 22:05

Unaudited prototype. Use only funds you can afford to lose. Debug-signed alpha; install over the previous alpha.

Home and activity

  • A transaction you broadcast shows as Pending at once, with the balance moved, instead of at the next poll (#101).
  • Balances land before the slower history read; the home polls every 5 s while anything is unconfirmed and refreshes on returning to the app.
  • The Activity tab follows the sync, so a Pending row confirms on its own.
  • Fewer node round trips: one connection kept per node for a minute, no duplicate unspent listings.

Duckpools

  • Find orders on chain: a reinstalled wallet or a second device recovers orders left at the proxy scripts (#100).
  • Fiat estimates beside owed, collateral, the loan being sized and the liquidation price.
  • A filled borrow counts what arrived; the penalty is stated as Duckpools states it; tiny interest shows as "under 0.01" (#99).

versionCode 4042 (arm64 6042, x86_64 8042).

Argus 1.0.0-alpha.40

Choose a tag to compare

@arkadianet arkadianet released this 06 Sep 11:05

Installs over alpha.11–alpha.39 — same signing key, wallet data preserved.

Duckpools, in the terms the contract liquidates on

alpha.39 expressed a loan's safety as "health", a scale where 100% meant the threshold. That hid the number people know. Everything now speaks in the collateral ratio (collateral value over the debt) against the pool's liquidation threshold (140% on the SigUSD pool; 125% or 150% on the ERG pool's token collaterals), the same terms Duckpools' own site uses.

  • Loan card: "280% collateral" with a bar from the threshold to three times it and the alert ratios marked; the liquidation price of one unit of collateral and how far the price can fall; the penalty as a share of the collateral; interest so far and the monthly cost at today's rate; the date the loan is called whatever the price; how much collateral would take the loan to a comfortable ratio; and a "what if the price moves" slider answering in ratio.
  • Borrowing, the way the site frames it: the loan first, with a Max button for what the wallet can actually lock; a collateral ratio to open at (Minimum, 200%, 300%, or a custom figure); the collateral to lock computed and still editable; a line saying how far the price can fall at that ratio; and a loan beyond what is spendable refused with both figures named. The minimum ratio is checked on what the quote would really open at, fees and price impact included.
  • Pool cards state the liquidation threshold, the penalty, and how much can be borrowed per unit of collateral value. Alerts name the ratio and the threshold.

⚠️ Still not device-tested

No loan has been opened from Argus on a phone yet. The check that matters: a loan's ratio and threshold on its card should match the same loan on duckpools.io.

Argus 1.0.0-alpha.39

Choose a tag to compare

@arkadianet arkadianet released this 06 Sep 10:25
c6957e1

Installs over alpha.11–alpha.38 — same signing key, wallet data preserved.

The first fixes from running alpha.38 on a phone.

dApp browser

  • Mew Finance offered only ErgoPay. Its page decides you are on a phone before it looks for a wallet, and the connector arrived after the page's scripts had started. The browser now injects the connector before any page script runs and identifies as a desktop browser; a menu entry switches back to a phone identity for pages that render badly at desktop width.
  • The start page: Spectrum's interface closed in favour of ErgoDEX, Duckpools lives on its main site, SkyHarbor is shutting down and ErgoAuctions' server is down. ErgoDEX could not be reached from the build machine, so that entry is unverified.

Duckpools

  • The ERG pool read timed out: each pool box is now read by its NFT instead of by walking its script's history, and a node that does not answer in twelve seconds hands over to the explorer.
  • The Borrow button, your loans and their health all depend on a second read of the pools' parameter, price, interest and collateral boxes. When any of it failed the screen showed only Lend and said nothing. Each pool card now says which box could not be read, and the loans section says when the wallet has none.
  • The borrower's figures. Every loan and every borrow quote now shows the liquidation price of one unit of collateral and how far the price can fall before it, a health bar on the alerts' scale, the interest accrued and what the loan costs a month at today's rate, the line and the liquidator's cut in words, the date by which the loan is called whatever the price, how much collateral would take the loan to 150% health, and a "what if the price moves" slider. The borrow sheet sizes the loan with a slider over the safe maximum and 25/50/75% picks, with the same figures live.

⚠️ Still not device-tested

The loan figures are computed from the same values the contract uses, but no loan has been opened from Argus on a phone yet. The check that matters: the liquidation price on a loan's card should match what Duckpools' own site shows for the same loan.

Argus 1.0.0-alpha.38

Choose a tag to compare

@arkadianet arkadianet released this 06 Sep 09:35

Installs over alpha.11–alpha.37 — same signing key, wallet data preserved.

The biggest build so far: eighteen pull requests, each reviewed by CodeRabbit and several by an independent reviewer, with every finding fixed before merge. Almost none of it has been run on a phone yet; see the warning at the end.

Duckpools, the rest of the protocol

  • Borrow and repay: borrow against ERG from the token pools, repay in full or in part, and see your loans with what they owe (interest compounded the way the contract does), what the collateral counts for, health against the pool's liquidation line and the forced-liquidation height.
  • Borrow ERG from the ERG pool against SigUSD, SigRSV, RSN or rsADA, priced through the same Spectrum pools the contract reads. The quote keeps half a percent back from the liquidation line so a price tick before the fill cannot reject the order.
  • Collateral top-up and withdrawal on a live loan, a direct spend you sign yourself.
  • Health alerts: loans are re-read every half hour with the app open and hourly in the background; a notification arrives once per level (below 130% of the line, below 115%, liquidatable) and once when the forced liquidation is within three days.

New protocols

  • Token issuance and burning from a Tokens tool apart from Send: EIP-4 tokens and NFTs, and burning kept deliberately separate from ordinary sends.
  • Babel fees (EIP-31): pay the miner fee in a token when a babel box for it is on chain.
  • Rosen bridge, natively: send ERG and bridged tokens to Cardano, Bitcoin, Ethereum and the other chains Rosen serves, with fees read from the bridge's own boxes and destination addresses checked per chain.
  • Spectrum liquidity: add and remove liquidity without a bot, and create a new pool in two transactions.
  • SigmaFi bonds: lend against open requests, post a request of your own with ERG or token collateral, repay before maturity, and take the collateral of a matured bond you lent against.
  • dApp browser: open any Ergo dApp with Argus standing in for Nautilus through the EIP-12 connector. A site sees nothing until you connect it, https only, and every signature goes through the same confirm sheet as an ErgoPay request, with the page broadcasting.

Mixer, after the red-team review

Every finding of the mixer review is addressed except the exported key living as a Dart string (low priority) and encrypting the mix records on the phone (stated in the dialog for now). Among the fixes: a lock no longer cancels background mixing; a joined round is adopted only when the wallet proves it owns the box; a move whose transaction never confirms is rolled back after thirty minutes and rebuilt; a pending mix's funding box is set aside from every other spend; the fee and token boxes are chosen so a hostile box on the operator's scripts cannot stall a remix or price an entry absurdly; notifications name no amounts.

From your feedback

Contacts work as send targets again, your own wallets (stealth included) are offered as destinations, ERG and several tokens go in one send, biometrics are offered right after the PIN, a new wallet shows at once, wallets can be reordered, and the asset tiles hold still.

⚠️ Nothing above is device-tested

Every new flow has unit tests on the arithmetic and the transactions it builds, and two review passes, but none of the loans, bridge transfers, bonds, liquidity moves or dApp signatures has been run on a phone yet, and no mix has completed a withdrawal on one. Try each with an amount you can afford to lose, and report what you see: the cheapest real checks are a small SigUSD-backed loan, a tiny SigmaFi request you then withdraw, a deposit into an existing Spectrum pool, and a signature from sigmafi.app through the browser.

Argus 1.0.0-alpha.37

Choose a tag to compare

@arkadianet arkadianet released this 05 Sep 07:45

Installs over alpha.11–alpha.36 — same signing key, wallet data preserved.

The first mix ran

On alpha.36 a mix entered the pool and completed two rounds on its own before a stray explorer answer stopped it. That is the mixer working on chain end to end for the first time.

The fix

The default explorer answers a lookup for a box it does not know with HTTP 200 and an error object, where every other source answers 404. After a remix the mix's new box is still unconfirmed, the node has no such box yet, and the explorer's error body was filed as your box and handed to the mixing engine, which refused it.

A box lookup now counts only a body that is the box asked for, and a transaction lookup only a body with outputs; anything else means "not seen yet", which the engine already waits on. The pool snapshot also skips and counts any item that is not a box instead of failing outright, so one stray element can never stop every mix again.

A mix that showed "Last move failed" on alpha.36 changed nothing on chain; it resumes with this build.

⚠️ Still a prototype

The mixer has now completed rounds on a device but not yet a withdrawal. Keep mixing on, watch the withdrawal land on the destination you chose, and use only funds you can afford to lose.

Argus 1.0.0-alpha.36

Choose a tag to compare

@arkadianet arkadianet released this 05 Sep 06:32

Installs over alpha.11–alpha.35 — same signing key, wallet data preserved.

Mixes on the home screen

While a mix exists, one line sits under the home actions: "1 ERG · round 1 of 3 · waiting for a counterpart · checked 2 min ago", or a count across several. A finished mix is announced there until you dismiss it. Tap the line to open Mix. When there is no mix, the home screen is unchanged.

Mix events now appear in Recent activity and the Activity tab as their own rows: entered, round done, withdrawn, reclaimed. Rounds never touch your addresses, so the address history alone could never show them. A row is marked confirmed only once its box has been seen on chain, not when Argus broadcast it, and opening a round explains what it was.

Transaction details before you sign

Every confirm sheet Argus builds — Send, the stealth sweep, the UTXO tools, Spectrum, AgeUSD, Dexy, and both mix steps — gains a Transaction details expander: every input with its owner, value and tokens; every output by kind (to, change, miner fee, Argus fee) with its address and tokens; the fees; the data inputs; the transaction id; and Copy unsigned transaction, so you can check the exact transaction in another tool before signing.

Mixer fixes

  • If the pool snapshot cannot be read, the error now says which list, which item, and what shape it had, instead of "box is missing value". A node that answers a by-script query with an error under HTTP 200 now falls back to the explorer rather than reading as an empty pool. If you hit the earlier error on alpha.35, press Continue on the mix again with this build.
  • Activity rows sort in one consistent order: not yet in a block first, then by height, then by time.

⚠️ Still not tested end to end on a device

Use the 10 ERG ring or larger, keep mixing on, and watch the funding send, the entry, a round and the withdrawal. Unaudited prototype, use only funds you can afford to lose.