Skip to content

Faucet, subscribing, collateral

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.

A subscription is one device on one project, with its own collateral.

  1. 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}/compatibility does the same check through the API.
  2. Pick the collateral: at least the project’s min_collateral. More collateral raises your selection weight up to the project’s cap.
  3. Sign the Bond intent and the NECTA permit in your wallet. The Hub relays Staking.bondBySig; you pay no gas.
  4. Once the Bonded event is indexed the subscription is active, 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).

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.