API Reference
Client Automation Registration
POST /v1/automations/executor
This endpoint can be used by executors create an automation that users can subscribe to
Query Params
Field name | Type | Description |
---|---|---|
executorAddress | string | address of executor that is creating the automation |
Request Body
Field name | Type | Description |
---|---|---|
config | Config | Configuration specifications for client automation. Check the format for the type below |
executor | string | Address of executor that runs the automation |
signature | string | Signature of the client configuration message signed by the executor. Check example & types here |
chainId | integer | Chain ID to create client automation on |
timestamp | integer | Current timestamp. Must match the timestamp that is signed by executor |
executorMetadata | JSON | Arbitrary metadata JSON of data that the executor wishes to accept from users at time of subscription |
Config
Field name | Type | Description |
---|---|---|
feeInBPS | integer | fees collected by the automation in BPS; MAX_BPS=4 |
feeReceiver | string | address of the automation client's fee receiver |
limitPerExecution | bool | boolean denoting if the user should limit the input tokens being pulled by executor per execution or for a specific duration of time; true if the limit is per execution |
feeToken | string | address of the token to collect fees in |
inputTokens | string[] | list of addresses of input tokens for the automation |
hopAddresses | string[] | list of whitelisted addresses through which the token is allowed to be transferred during the automations |
Example
Response
The response contains all the config fields passed by the user in request, along with the ID of the successfully created client automation -
Query Automation Subscribers
GET /v1/automations/executor/:registryID/subscriptions
This endpoint can be used be executors to get a list of subscribers to a given registryID
Query Params
Field name | Type | Description |
---|---|---|
registryID | string | ID of the client's automation registry. (can be retrieved from response of automation registration) |
Response
Response contains list of all subscribers and their subscription configuration & metadata-
Validate Executable Task
POST /v1/automations/tasks/validate/:chainId
This endpoint can be used by executors to pass an executable for a subscriber's account and validate if it complies with the policy
Query Params
Field name | Type | Description |
---|---|---|
chainId | string | Chain ID to validate the executable on |
Request Body
Field name | Type | Description |
---|---|---|
subaccount | string | Address of the subscriber subAccount to validate the executable task on |
executor | string | Address of the executor |
executorSignature | string | Signature of executor, signing the ExecutionParams digest. Check example & types here |
executable | Executable | Params of the executable task to validate. Check the format for the type below |
Executable
Field name Type Description callType
integer
type of call to make; CALL(0), DELEGATECALL(1), or STATICCALL(2)
to
string
address of the target to execute on
value
integer
amount of ETH to transfer from subscriber to
to
data
string
calldata to execute on
to
Example
Response
Response contains the policy signature required for module execution of the automation on successful validation-
Validate & Execute an Executable Task
POST /v1/automations/tasks/execute/:chainId
This endpoint can be used by executors to pass an executable for a subscriber's account and execute it using Console Relayer, if it complies with the policy
Query Params
Field name | Type | Description |
---|---|---|
chainId | string | Chain ID to execute the executable on |
Request Body
Field name | Type | Description |
---|---|---|
subaccount | string | Address of the subscriber subAccount to validate the executable task on |
executor | string | Address of the executor |
executorSignature | string | Signature of executor, signing the ExecutionParams digest. Check example & types here |
executable | Executable | Params of the executable task to validate. Check the format for the type below |
webhook (optional) | string | Webhook URL to get status updates on from relayer |
Executable
Field name | Type | Description |
---|---|---|
callType | integer | type of call to make; CALL(0), DELEGATECALL(1), or STATICCALL(2) |
to | string | address of the target to execute on |
value | integer | amount of ETH to transfer from subscriber to |
data | string | calldata to execute on |
Example
Response
Response contains taskId
of the executed task, that can be used for polling of status-
Poll Executed Task Status
GET /v1/relayer/tasks/status/:taskId
Query Params
Field name | Type | Description |
---|---|---|
taskId | string | ID of the executed task. (can be retrieved from the response of the validate & execute endpoint) |
Response
Response contains the task's metadata and it's current status-
Last updated