✅ Prerequisites
🐛 Description
Account creation via the Magic Hedera extension intermittently fails for new Magic users. When a user logs in for the first time (i.e. the Magic account does not yet exist), the extension has to provision a brand-new Hedera account for that Magic link account. During this flow, the extension's bundled SDK attempts to call createAccount against Hedera consensus nodes that no longer exist. Hedera recently decommissioned a number of nodes, but the SDK still routes requests to them, so the new-account provisioning fails. Existing Magic users (whose Hedera account is already provisioned) are unaffected, since no createAccount call is made. This appears to be resolvable by updating the @hiero-ledger/sdk dependency within the Hedera extension to the latest version, which should carry the current node address book.
🧩 Steps to Reproduce
- Install the latest
magic-sdk and @magic-ext/hedera.
- Initialize
Magic with the HederaExtension.
- Log in with a brand-new email — one that has no existing Magic account — so the extension must provision a new Hedera account for it.
- Observe that the new-account
createAccount call intermittently fails when the SDK targets a decommissioned node (e.g. node03).
🤔 Expected behavior
When a new Magic user logs in for the first time, the extension provisions a new Hedera account successfully and consistently, with the SDK only routing the createAccount request to nodes that currently exist in Hedera's address book.
😮 Actual behavior
The call fails on the client side when it hits a removed node. Example failing request:
https://node03.swirldslabs.com/proto.CryptoService/createAccount
node03 no longer exists — see https://status.hedera.com/ for current node status.
💻 Code Sample
import { HederaExtension } from '@magic-ext/hedera';
import { Magic } from 'magic-sdk';
const magic = new Magic(key, {
extensions: [new HederaExtension({ network })],
});
const didToken = await magic.auth.loginWithEmailOTP({ email });
🌎 Environment
| Software |
Version(s) |
magic-sdk |
^33.7.1 |
@magic-ext/hedera |
^2.5.1 |
@magic-sdk/admin |
^2.8.2 |
| Browser |
All (environment-independent) |
yarn |
N/A |
| Operating System |
All (environment-independent) |
✅ Prerequisites
magic-js)?🐛 Description
Account creation via the Magic Hedera extension intermittently fails for new Magic users. When a user logs in for the first time (i.e. the Magic account does not yet exist), the extension has to provision a brand-new Hedera account for that Magic link account. During this flow, the extension's bundled SDK attempts to call
createAccountagainst Hedera consensus nodes that no longer exist. Hedera recently decommissioned a number of nodes, but the SDK still routes requests to them, so the new-account provisioning fails. Existing Magic users (whose Hedera account is already provisioned) are unaffected, since nocreateAccountcall is made. This appears to be resolvable by updating the@hiero-ledger/sdkdependency within the Hedera extension to the latest version, which should carry the current node address book.🧩 Steps to Reproduce
magic-sdkand@magic-ext/hedera.Magicwith theHederaExtension.createAccountcall intermittently fails when the SDK targets a decommissioned node (e.g.node03).🤔 Expected behavior
When a new Magic user logs in for the first time, the extension provisions a new Hedera account successfully and consistently, with the SDK only routing the
createAccountrequest to nodes that currently exist in Hedera's address book.😮 Actual behavior
The call fails on the client side when it hits a removed node. Example failing request:
https://node03.swirldslabs.com/proto.CryptoService/createAccountnode03no longer exists — see https://status.hedera.com/ for current node status.💻 Code Sample
🌎 Environment
magic-sdk@magic-ext/hedera@magic-sdk/adminyarn