Gasless Server API
To minimize node operating costs, CARV offers official endpoints that assist node operators in batching operations and posting them on-chain. While gasless transactions still necessitate user signatures for specific operations, CARV ensures endpoint availability. However, if you are concerned about risks, you also have the option to independently send transactions to the smart contract.
Base URLs: https://interface.carv.io
Message Construction
To make sure the gasless server still guarantee the authorization from the original node operater, it adopts the EIP-712 standard to proof authorization through the signature.
For more details of message structure: https://github.com/carv-protocol/verifier/blob/main/internal/worker/signature_server.go
Example config: Example Config
POST ExplorerSendTxNodeEnter
POST /explorer/send_tx_node_enter
Message structure (Golang)
Body Parameters
Params
Origin
header
string
yes
User-Agent
header
string
yes
x-app-id
header
string
yes
» signer
body
string
yes
» replaced_node
body
string
yes
The node to replace. There are 2000 active node limit. To join the active set you have to specify a node has lower delegation than you to replace with.
» expired_at
body
integer
yes
» v
body
integer
yes
» r
body
string
yes
» s
body
string
yes
Response Examples
200 Response
Responses
Responses Data Schema
HTTP Status Code 200
» code
integer
true
» msg
string
true
» data
object
true
HTTP Status Code 400
» error
string
true
POST ExplorerSendTxNodeExit
POST /explorer/send_tx_node_exit
Message structure (Golang)
Body Parameters
Params
Origin
header
string
yes
User-Agent
header
string
yes
x-app-id
header
string
yes
» signer
body
string
yes
» expired_at
body
integer
yes
» v
body
integer
yes
» r
body
string
yes
» s
body
string
yes
» version
body
string
yes
Response Examples
200 Response
Responses
Responses Data Schema
HTTP Status Code 200
» code
integer
true
» msg
string
true
» data
object
true
HTTP Status Code 400
» error
string
true
POST ExplorerSendTxModifyCommissionRate
POST /explorer/send_tx_modify_commission_rate
Message structure (Golang)
Body Parameters
Params
Origin
header
string
yes
User-Agent
header
string
yes
x-app-id
header
string
yes
» signer
body
string
yes
» commission_rate
body
integer
yes
» expired_at
body
integer
yes
» v
body
integer
yes
» r
body
string
yes
» s
body
string
yes
Response Examples
200 Response
Responses
Responses Data Schema
HTTP Status Code 200
» code
integer
true
» msg
string
true
» data
object
true
HTTP Status Code 400
» error
string
true
POST ExplorerSendTxSetRewardClaimer
POST /explorer/send_tx_set_reward_claimer
Message structure (Golang)
Body Parameters
Params
Origin
header
string
yes
User-Agent
header
string
yes
x-app-id
header
string
yes
body
body
object
no
» signer
body
string
yes
» claimer
body
string
yes
» expired_at
body
integer
yes
» v
body
integer
yes
» r
body
string
yes
» s
body
string
yes
Response Examples
200 Response
Responses
Responses Data Schema
HTTP Status Code 200
» code
integer
true
» msg
string
true
» data
object
true
HTTP Status Code 400
» error
string
true
POST ExplorerSendTxNodeReportVerification
POST /explorer/send_tx_node_report_verification
Message structure (Golang)
Body Parameters
Params
Origin
header
string
yes
User-Agent
header
string
yes
x-app-id
header
string
yes
» signer
body
string
yes
» attestation_id
body
string
yes
» result
body
integer
yes
» index
body
integer
yes
» v
body
integer
yes
» r
body
string
yes
» s
body
string
yes
Response Examples
200 Response
Responses
Responses Data Schema
HTTP Status Code 200
» code
integer
true
» msg
string
true
» data
null
true
HTTP Status Code 400
» error
string
true
Last updated