Subscription intent for (project, device); returns the gasless bond payloads to sign
POST
/v1/subscriptions
const url = 'https://testnet-rpc.necter.network/v1/subscriptions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"project_id":"example","node_id":"example","collateral":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://testnet-rpc.necter.network/v1/subscriptions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "project_id": "example", "node_id": "example", "collateral": "example" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
project_id
required
string
node_id
required
string
collateral
required
Token base units
string
Example generated
{ "project_id": "example", "node_id": "example", "collateral": "example"}Responses
Section titled “Responses”Intent stored (pending_collateral)
Media typeapplication/json
object
subscription
required
object
subscription_id
required
string
project_id
required
string
project_name
string
node_id
required
string
owner
required
Lowercase EVM address
string
payout_address
Lowercase EVM address
string
status
required
string
collateral
required
Token base units
string
min_collateral
Token base units
string
collateral_health
string
pending_slashes
integer
slashed_total
Token base units
string
reputation
integer
uptime_bp
integer
leases_completed
integer
units_total
integer
earned_total
Token base units
string
token
object
address
required
Lowercase EVM address
string
symbol
required
string
name
string
decimals
required
integer
created_at
integer
compatibility
object
compatible
required
boolean
tier
required
string
match_bp
required
integer
missing
required
Array<string>
warnings
required
Array<string>
performance
string
est_monthly_reward
Token base units
string
bond
required
Typed data the owner signs (eth_signTypedData_v4); then POST it back as SignedGasless
object
action
required
string
typed_data
required
object
domain
required
object
key
additional properties
any
types
required
object
key
additional properties
any
primaryType
required
string
message
required
object
key
additional properties
any
permit
direct_tx
object
chain_id
required
integer
to
required
Lowercase EVM address
string
data
required
string
value
Token base units
string
description
string
expires_at
required
integer
Example
{ "subscription": { "status": "pending_collateral", "collateral_health": "healthy" }, "compatibility": { "tier": "compatible", "performance": "excellent" }, "bond": { "action": "bond" }}Malformed request (bad_request, invalid_field)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}Authenticated but not allowed (forbidden, not_owner, not_enrolled, not_verified, scope_missing)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}conflict, duplicate, already_exists, invalid_state
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}Semantically invalid (invalid_manifest, invalid_binding, invalid_evidence, incompatible, insufficient_collateral)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}