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
walletAddress
string
required
name
string
required
isPublic
boolean
required
isEnabled
boolean
required
description
string
isApplicableToAllNetworks
boolean
enabledChains
integer[]
supportedEPVersions
string[]
isPerpetual
boolean
startTime
string
endTime
string
globalMaximumApplicable
boolean
globalMaximumUsd
number
globalMaximumNative
number
globalMaximumOpCount
number
perUserMaximumApplicable
boolean
perUserMaximumUsd
number
perUserMaximumNative
number
perUserMaximumOpCount
number
perOpMaximumApplicable
boolean
perOpMaximumUsd
number
perOpMaximumNative
number

Response

201
application/json
Policy created successfully
createdAt
string
updatedAt
string
id
integer
walletAddress
string
name
string
description
string
isPublic
boolean
isEnabled
boolean
isApplicableToAllNetworks
boolean
enabledChains
integer[]
supportedEPVersions
string[]
isPerpetual
boolean
startTime
string
endTime
string
globalMaximumApplicable
boolean
globalMaximumUsd
string
globalMaximumNative
string
globalMaximumOpCount
integer
perUserMaximumApplicable
boolean
perUserMaximumUsd
string
perUserMaximumNative
string
perUserMaximumOpCount
integer
perOpMaximumApplicable
boolean
perOpMaximumUsd
string
perOpMaximumNative
string
addressAllowList
string[] | null
addressBlockList
string[] | null