Skip to content

Gasless project registration : relay the signed `register_by_sig` payload as ProjectRegistry.registerBySig

POST
/v1/developers/projects/{project_id}/register
curl --request POST \
--url https://testnet-rpc.necter.network/v1/developers/projects/example/register \
--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" }'

Body: SignedGasless built from register_by_sig of POST /v1/developers/projects (EIP-712 Register, domain Necter ProjectRegistry), signed by the developer. slug and manifestHash must match the stored version-1 manifest. Creating the vault still needs a developer transaction.

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

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

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

not_found

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

unavailable, no_validators, faucet_empty

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