Skip to content

Without body → typed data to sign; with signed body → relayed Staking.unbondBySig

POST
/v1/subscriptions/{subscription_id}/unbond
curl --request POST \
--url https://testnet-rpc.necter.network/v1/subscriptions/example/unbond \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "typed_data": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "signature": "example", "permit": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "permit_signature": "example" }'
subscription_id
required
string
/^0x[0-9a-f]{64}$/
Media typeapplication/json
object
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
signature
required
string
/^0x[0-9a-f]{130}$/
permit
One of:
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_signature
One of:
string
/^0x[0-9a-f]{130}$/

Example generated

{
"typed_data": {
"domain": {},
"types": {},
"primaryType": "example",
"message": {}
},
"signature": "example",
"permit": {
"domain": {},
"types": {},
"primaryType": "example",
"message": {}
},
"permit_signature": "example"
}

Payload to sign

Media typeapplication/json

Typed data the owner signs (eth_signTypedData_v4); then POST it back as SignedGasless

object
action
required
string
Allowed values: bond unbond withdraw set_payout register_project publish_version
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
One of:
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
direct_tx
object
chain_id
required
integer
to
required

Lowercase EVM address

string
/^0x[0-9a-f]{40}$/
data
required
string
/^0x([0-9a-f]{2})*$/
value

Token base units

string
/^(0|[1-9][0-9]{0,77})$/
description
string
expires_at
required
integer

Example

{
"action": "bond"
}

Submitted

Media typeapplication/json
object
status
required
string
Allowed values: queued sent confirmed reverted failed
tx_hash
One of:
string
/^0x[0-9a-f]{64}$/
error
string | null

Example

{
"status": "queued"
}

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"
}