Faucet, subscribing, collateral
Faucet
Section titled “Faucet”The faucet sends 1,000 test NECTA to your owner wallet once every 24 hours. Use the store’s Faucet page,
necter-miner faucet, or the API (POST /v1/faucet/drip with a session; GET /v1/faucet shows your
eligibility and next_eligible_at). It does not send ETH: you do not need any.
Subscribe a device to a project
Section titled “Subscribe a device to a project”A subscription is one device on one project, with its own collateral.
- In the store or the miner app, open the project and choose Subscribe. The Hub checks your device’s
profile and benchmark against the project’s requirements (device class, CPU cores, RAM, storage, engine,
minimum benchmark).
POST /v1/projects/{id}/compatibilitydoes the same check through the API. - Pick the collateral: at least the project’s
min_collateral. More collateral raises your selection weight up to the project’s cap. - Sign the Bond intent and the NECTA permit in your wallet. The Hub relays
Staking.bondBySig; you pay no gas. - Once the
Bondedevent is indexed the subscription isactive, and you are eligible from the next epoch’s snapshot (built at least 5 minutes before the epoch starts).
From the CLI, necter-miner join --project <id> [--collateral 10] does all of this.
Through the API (owner session):
POST /v1/subscriptions {"project_id": "0x…", "node_id": "ndsr-…", "collateral": "10000000000000000000"}→ {"subscription": {…, "status": "pending_collateral"}, "compatibility": {…}, "bond": {"action": "bond", "typed_data": {…}, "permit": {…}, "expires_at": …}}POST /v1/subscriptions/{subscription_id}/bond {"typed_data": …, "signature": "0x…", "permit": …, "permit_signature": "0x…"}Errors: 422 incompatible (the device does not meet the requirements; details list why),
422 insufficient_collateral (details.min_collateral), 403 not_owner (the device is not bound to your
wallet), 409 already_exists (details.subscription_id).
Manage collateral
Section titled “Manage collateral”| Action | Store / CLI | API |
|---|---|---|
| Top up | Subscriptions → Top up | POST /v1/subscriptions/{id}/bond-payload {"amount"}, then …/bond |
| Pause / resume (stay bonded, skip snapshots) | Subscriptions → Pause | POST /v1/subscriptions/{id}/pause, …/resume |
| Unbond | necter-miner leave --project <id> |
POST /v1/subscriptions/{id}/unbond (two-step) |
| Withdraw after 24 h | necter-miner withdraw --project <id> |
POST /v1/subscriptions/{id}/withdraw (two-step) |
| Change payout address | necter-miner payout set 0x… |
POST /v1/subscriptions/{id}/payout {"payout_address"} (two-step) |
| Overview | Mining → Collateral | GET /v1/me/collateral, GET /v1/me/subscriptions |
Fleets: POST /v1/subscriptions/batch creates intents for up to 200 device × project pairs with one batched
bond payload; GET/POST /v1/me/device-groups organizes devices.