OEV gateway is used in the OEV flow to sign the data won in the OEV auction. The data is signed by the Airnode so that only the searcher who won the auction can use it to update the data feed. You can learn more about OEV at https://api3.org.
Enable the gateway in the config.json file via nodeSettings.oevGateway section.
enabled: A boolean to enable/disable for the gateway.
maxConcurrency: (optional) A number higher than zero that represents the maximum number of serverless functions serving gateway requests. When omitted, there is no maximum concurrency set. This field is ignored for Airnode client gateways.
corsOrigins: A list of allowed origins, ['*'] to allow all origins or an empty array to disable CORS.
The gateway implementation is different depending on how Airnode is deployed. When deployed on a cloud provider, the serverless gateway is used. Inside Airnode client, the gateway is implemented via a simple web server inside the docker container. There are subtle differences in both how the gateways work and what the gateway URLs look like.
The deployer generates a secret UUID path parameter which ensures that the endpoints are not openly accessible. Therefore, the gateway URL should be kept secret.
The gateway URL is also available as part of the payload sent from Airnode's heartbeat to your specified heartbeat URL.
Airnode client can be used to run Airnode as a docker container locally. There is a common web server for the gateway, which is exposed on the host machine. Doing so will make the gateway API accessible like a regular web server running on the machine. Note the PORT which is exposed as part of the Airnode client container. See the Airnode client usage for more details.
http://localhost:<PORT>/sign-oev/01234567-abcd-abcd-abcd-012345678abc - Gateway URL for the OEV Gateway
The gateway will return a list of signatures. There is a signature for each beacon within the data feed that is served by the given Airnode, returned in the same order as they are specified in the request body.