Skip to Content
CheckoutAPI ReferenceSettingsDeclare the SubscriptionManager pause authority

Declare the SubscriptionManager pause authority

POST/settings/pauser

Declare the merchant-held address that may pause and unpause your SubscriptionManager. Required before the manager is deployed, and immutable afterwards. Prove control by signing the declaration_message from GET /settings/pauser with that address — an EOA signature is recovered directly, and a contract account (e.g. a Safe) is verified on-chain against every chain your business supports. Declaring the same address as your merchant_signer is permitted only with acknowledge_shared_pauser_risk, because a stolen signer key would then also be able to lift an incident freeze.

Headers

HeaderDescriptionRequired
AuthorizationBearer token with your secret API keyyes

Request Body

FieldTypeRequiredDescription
merchant_pauserstringyes
signaturestringyes
acknowledge_shared_pauser_riskboolean

Example Request

Request

const response = await fetch('https://checkout-api.exodus-int.com/settings/pauser', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer sk_live_xxxxxxxxxxxxxxxx',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "merchant_pauser": "0x9876fedc9876fedc9876fedc9876fedc9876fedc",
    "signature": "0xababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab"
  }),
});

Responses

StatusDescription
201The declared pause authority.
400Validation error
401Missing or invalid authentication
403API key lacks the required scope
422Control of the address was not proven, the address matches the merchant signer without an acknowledgment, or a manager is already deployed.

Response body

FieldTypeRequiredDescription
objectenum: merchant_pauseryes
merchant_pauserstring | nullyes
shared_pauser_risk_acknowledgedbooleanyes
declaration_messagestringyes
locked_by_chainstring | nullyes

Example Response

{
  "object": "merchant_pauser",
  "merchant_pauser": "0x9876fedc9876fedc9876fedc9876fedc9876fedc",
  "shared_pauser_risk_acknowledged": false,
  "declaration_message": "Exodus Checkout: declare SubscriptionManager pause authority\nbusiness: biz_1234567890abcdef\nchain family: evm",
  "locked_by_chain": null
}

Error Response

Error (e.g. 400)

{
  "error": {
    "type": "validation_error",
    "message": "amount must be a positive number",
    "param": "amount"
  }
}

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help