POST
/
addPolicy
curl --request POST \
  --url https://rpc.etherspot.io/paymaster/addPolicy \
  --header 'Content-Type: application/json' \
  --header 'apikey: <apikey>' \
  --data '{
  "walletAddress": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
  "name": "Sample Policy",
  "description": "This is a sample policy",
  "isPublic": true,
  "isEnabled": true,
  "isApplicableToAllNetworks": true,
  "enabledChains": [
    123
  ],
  "supportedEPVersions": [
    "<string>"
  ],
  "isPerpetual": true,
  "startTime": "2023-11-07T05:31:56Z",
  "endTime": "2023-11-07T05:31:56Z",
  "globalMaximumApplicable": true,
  "globalMaximumUsd": 123,
  "globalMaximumNative": 123,
  "globalMaximumOpCount": 123,
  "perUserMaximumApplicable": true,
  "perUserMaximumUsd": 123,
  "perUserMaximumNative": 123,
  "perUserMaximumOpCount": 123,
  "perOpMaximumApplicable": true,
  "perOpMaximumUsd": 123,
  "perOpMaximumNative": 123
}'
{
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "id": 123,
  "walletAddress": "<string>",
  "name": "<string>",
  "description": "<string>",
  "isPublic": true,
  "isEnabled": true,
  "isApplicableToAllNetworks": true,
  "enabledChains": [
    123
  ],
  "supportedEPVersions": [
    "<string>"
  ],
  "isPerpetual": true,
  "startTime": "2023-11-07T05:31:56Z",
  "endTime": "2023-11-07T05:31:56Z",
  "globalMaximumApplicable": true,
  "globalMaximumUsd": "<string>",
  "globalMaximumNative": "<string>",
  "globalMaximumOpCount": 123,
  "perUserMaximumApplicable": true,
  "perUserMaximumUsd": "<string>",
  "perUserMaximumNative": "<string>",
  "perUserMaximumOpCount": 123,
  "perOpMaximumApplicable": true,
  "perOpMaximumUsd": "<string>",
  "perOpMaximumNative": "<string>",
  "addressAllowList": [
    "<string>"
  ],
  "addressBlockList": [
    "<string>"
  ]
}

Example values you can use to demo the API:

{
    "walletAddress": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
    "name": "Sample Policy",
    "description": "This is a sample policy",
    "isPublic": true,
    "isEnabled": true,
    "isApplicableToAllNetworks": false,
    "enabledChains": [
        80002
    ],
    "supportedEPVersions": ["EPV_06", "EPV_07"],
    "isPerpetual": false,
    "startTime": "2024-06-26T00:40:00.000Z",
    "endTime": "2024-06-27T23:59:59.999Z",
    "globalMaximumApplicable": true,
    "globalMaximumUsd": 5000,
    "globalMaximumNative": 1000,
    "globalMaximumOpCount": 1000,
    "perUserMaximumApplicable": true,
    "perUserMaximumUsd": 100,
    "perUserMaximumNative": 200,
    "perUserMaximumOpCount": 50,
    "perOpMaximumApplicable": true,
    "perOpMaximumUsd": 10,
    "perOpMaximumNative": 20
}

Example response:

{
    "createdAt": "2024-06-30T17:39:26.938Z",
    "updatedAt": "2024-06-30T17:39:26.939Z",
    "id": 5,
    "walletAddress": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
    "name": "Sample Policy",
    "description": "This is a sample policy",
    "isPublic": true,
    "isEnabled": true,
    "isApplicableToAllNetworks": false,
    "enabledChains": [
        80002
    ],
    "supportedEPVersions": [
        "EPV_06",
        "EPV_07"
    ],
    "isPerpetual": false,
    "startTime": "2024-06-26T00:40:00.000Z",
    "endTime": "2024-06-27T23:59:59.999Z",
    "globalMaximumApplicable": true,
    "globalMaximumUsd": "5000.0000",
    "globalMaximumNative": "1000.000000000000000000",
    "globalMaximumOpCount": 1000,
    "perUserMaximumApplicable": true,
    "perUserMaximumUsd": "100.0000",
    "perUserMaximumNative": "200.000000000000000000",
    "perUserMaximumOpCount": 50,
    "perOpMaximumApplicable": true,
    "perOpMaximumUsd": "10.0000",
    "perOpMaximumNative": "20.000000000000000000",
    "addressAllowList": null,
    "addressBlockList": null
}

Headers

apikey
string
required

API key for authentication

Body

application/json

Response

201
application/json
Policy created successfully

The response is of type object.