Skip to content

feat(account): remove the automatic testnet top-up on sign-up - #858

Merged
fraseragain merged 1 commit into
developfrom
fix/remove-signup-topup
Oct 27, 2026
Merged

fraseragain merged 1 commit into
developfrom
fix/remove-signup-topup

Conversation

@fraseragain

@fraseragain fraseragain commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

What changed

New accounts are not topped up with testnet CHEQ. People may want to fund an external address instead, and the portal now tells new users, on the dashboard, to request tokens from Balances & Faucet (studio-portal PR to follow).

Removed:

  • The top-up in bootstrap and in POST /account/create, and the topupTestnet and delegateWithinQuota helpers.
  • Settings ENABLE_ACCOUNT_TOPUP, TESTNET_INITIAL_TOPUP_CHEQ and TESTNET_MINIMUM_BALANCE, from the constants, env types, example.env, the Dockerfile and the README.
  • The testnetMinimumBalance field of the bootstrap status object, which only the top-up set.
  • The integration tests for the initial top-up.

Unchanged: POST /account/faucet and its limits.

Why

  • Product decision: no automatic top-up.
  • It was already not happening. Since 3.18.0 the top-up ran only when the call had created the testnet account, but CustomerService.create already creates it, so the check was always false for new sign-ups. A fresh production account had a balance of 0. Removing the code makes today's behaviour deliberate, so nobody later "fixes" the check and turns auto top-ups on, as production sets ENABLE_ACCOUNT_TOPUP=true.

Deploy note

Production and staging may still set ENABLE_ACCOUNT_TOPUP, TESTNET_INITIAL_TOPUP_CHEQ or TESTNET_MINIMUM_BALANCE in the DigitalOcean app spec. They are ignored now and can be deleted.

How to test

  • npm run test:unit: 23 suites and 213 tests pass. tsc --noEmit exits 0.
  • ESLint over the touched files and src/types reports only existing no-explicit-any errors: 55 on develop, 47 with this change (the removed code accounts for the difference). None are new.
  • On staging: sign up a new account. GET /account/balances shows testnet balance 0, and POST /account/faucet with no body funds the account.

Risks

Anything that reads testnetMinimumBalance from the bootstrap response would now see it missing. I found no consumer in this repo.

🤖 Generated with Claude Code

New accounts are not topped up: people may want to fund an external
address instead, and the portal now tells new users to request testnet
CHEQ. The top-up never ran for new sign-ups since 3.18.0 anyway, because
the testnet account already exists when it is checked.

Removes the top-up code, ENABLE_ACCOUNT_TOPUP, TESTNET_INITIAL_TOPUP_CHEQ,
TESTNET_MINIMUM_BALANCE and the BootStrapAccountResponse
testnetMinimumBalance field.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@fraseragain
fraseragain merged commit a2023a0 into develop Oct 27, 2026
13 checks passed
@fraseragain
fraseragain deleted the fix/remove-signup-topup branch October 27, 2026 11:40
cheqd-bot Bot pushed a commit that referenced this pull request Oct 27, 2026
## [3.19.0-develop.2](3.19.0-develop.1...3.19.0-develop.2) (2026-10-27)

### Features

* **account:** remove the automatic testnet top-up on sign-up ([2c34509](2c34509))
* **account:** remove the automatic testnet top-up on sign-up ([#858](#858)) ([a2023a0](a2023a0))
@cheqd-bot

cheqd-bot Bot commented Oct 27, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 3.19.0-develop.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

This was referenced Oct 28, 2026
fraseragain added a commit to cheqd/product-docs that referenced this pull request Oct 28, 2026
> **Merge after [studio-portal
#268](cheqd/studio-portal#268) is deployed.**
The pages say the dashboard shows a "Get testnet CHEQ" notice, which
only exists once that PR is live.

## What changed

Three pages said, or implied, that a new Studio account gets testnet
CHEQ automatically. That isn't true, and it's now deliberate: people may
want to fund an external wallet instead (see cheqd/studio#858).

- **Testnet Faucet**: replaces "New Studio accounts also receive a
one-time top-up" with: accounts start with no testnet CHEQ, nothing is
sent automatically, and the dashboard tells you when your testnet
account is empty.
- **Token Top Up**: same correction. It also says Studio calls that
write to testnet, such as creating a DID, fail until you request tokens.
- **Set Up Your Account**: new **Step 4: Get testnet CHEQ**. It
describes the dashboard notice and the Balances & Faucet page, and the
later steps are renumbered (Start using cheqd is now Step 5 and Choose a
billing plan is Step 6).

## Why

On 27 Oct a fresh production account had a testnet balance of 0, and
Studio's create-a-DID call failed with a 500. The earlier text from #84
and #88 promised a top-up that never ran for new sign-ups.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants