KYC Events

kyc.phone-validation.changed

Triggered when a user’s phone validation status changes. Event Type: kyc.phone-validation.changed Schema Definition:
{
  eventType: "kyc.phone-validation.changed";
  data: {
    /** Unique user identifier */
    id: string;
    /** User email address */
    email: string;
    /** User phone number */
    phone: string;
    /** User first name */
    firstName: string;
    /** User last name */
    lastName: string;
    /** Primary address line */
    address1: string;
    /** Secondary address line */
    address2: string;
    /** City */
    city: string;
    /** Postal/ZIP code */
    postalCode: string;
    /** State/Province */
    state: string;
    /** Country */
    country: string;
    /** Nationality country */
    nationalityCountry: string;
    /** User's sign-in wallet addresses */
    signInWallets: {
      /** Wallet address */
      address: string;
    }[];
    /** User's safe wallet addresses */
    safeWallets: {
      /** Safe wallet address */
      address: string;
      /** Blockchain chain ID */
      chainId: string;
    }[];
    /** KYC verification status */
    kycStatus: "notStarted" | "documentsRequested" | "pending" | "processing" | "approved" | "resubmissionRequested" | "rejected" | "requiresAction";
    /** Available features for the user */
    availableFeatures: {
      /** Whether Monerium IBAN is available */
      moneriumIban: boolean;
    };
    /** User's cards */
    cards: {
      /** Card ID */
      id: string;
      /** Card token */
      cardToken: string;
      /** Last four digits of card */
      lastFourDigits: string;
      /** Name embossed on card */
      embossedName: string;
      /** Card activation timestamp */
      activatedAt: string;
      /** Whether card is virtual */
      virtual: boolean;
    }[];
    /** User's banking details */
    bankingDetails: {
      /** Monerium IBAN */
      moneriumIban: string;
      /** Monerium BIC */
      moneriumBic: string;
      /** Monerium IBAN status */
      moneriumIbanStatus: string;
      /** Banking address */
      address: string;
    };
    /** Whether source of funds question was answered */
    isSourceOfFundsAnswered: boolean;
    /** Whether phone number is validated */
    isPhoneValidated: boolean;
  };
}
Example:
{
  "eventType": "kyc.phone-validation.changed",
  "data": {
    "id": "user_123",
    "email": "user@example.com",
    "phone": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "nationalityCountry": "US",
    "signInWallets": [
      {
        "address": "0x1234567890abcdef1234567890abcdef12345678"
      }
    ],
    "safeWallets": [
      {
        "address": "0xabcdef1234567890abcdef1234567890abcdef12",
        "chainId": "100"
      }
    ],
    "kycStatus": "approved",
    "availableFeatures": {
      "moneriumIban": true
    },
    "cards": [
      {
        "id": "card_123",
        "cardToken": "card_token_456",
        "lastFourDigits": "1234",
        "embossedName": "John Doe",
        "activatedAt": "2024-01-15T10:30:00Z",
        "virtual": false
      }
    ],
    "bankingDetails": {
      "moneriumIban": "GB82WEST12345698765432",
      "moneriumBic": "WESTGB22",
      "moneriumIbanStatus": "ASSIGNED",
      "address": "123 Main Street, New York, NY 10001"
    },
    "isSourceOfFundsAnswered": true,
    "isPhoneValidated": true
  }
}

kyc.source-of-funds.changed

Triggered when a user’s source of funds information changes. Event Type: kyc.source-of-funds.changed Schema Definition:
{
  eventType: "kyc.source-of-funds.changed";
  data: {
    /** Unique user identifier */
    id: string;
    /** User email address */
    email: string;
    /** User phone number */
    phone: string;
    /** User first name */
    firstName: string;
    /** User last name */
    lastName: string;
    /** Primary address line */
    address1: string;
    /** Secondary address line */
    address2: string;
    /** City */
    city: string;
    /** Postal/ZIP code */
    postalCode: string;
    /** State/Province */
    state: string;
    /** Country */
    country: string;
    /** Nationality country */
    nationalityCountry: string;
    /** User's sign-in wallet addresses */
    signInWallets: {
      /** Wallet address */
      address: string;
    }[];
    /** User's safe wallet addresses */
    safeWallets: {
      /** Safe wallet address */
      address: string;
      /** Blockchain chain ID */
      chainId: string;
    }[];
    /** KYC verification status */
    kycStatus: "notStarted" | "documentsRequested" | "pending" | "processing" | "approved" | "resubmissionRequested" | "rejected" | "requiresAction";
    /** Available features for the user */
    availableFeatures: {
      /** Whether Monerium IBAN is available */
      moneriumIban: boolean;
    };
    /** User's cards */
    cards: {
      /** Card ID */
      id: string;
      /** Card token */
      cardToken: string;
      /** Last four digits of card */
      lastFourDigits: string;
      /** Name embossed on card */
      embossedName: string;
      /** Card activation timestamp */
      activatedAt: string;
      /** Whether card is virtual */
      virtual: boolean;
    }[];
    /** User's banking details */
    bankingDetails: {
      /** Monerium IBAN */
      moneriumIban: string;
      /** Monerium BIC */
      moneriumBic: string;
      /** Monerium IBAN status */
      moneriumIbanStatus: string;
      /** Banking address */
      address: string;
    };
    /** Whether source of funds question was answered */
    isSourceOfFundsAnswered: boolean;
    /** Whether phone number is validated */
    isPhoneValidated: boolean;
  };
}
Example:
{
  "eventType": "kyc.source-of-funds.changed",
  "data": {
    "id": "user_123",
    "email": "user@example.com",
    "phone": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "nationalityCountry": "US",
    "signInWallets": [
      {
        "address": "0x1234567890abcdef1234567890abcdef12345678"
      }
    ],
    "safeWallets": [
      {
        "address": "0xabcdef1234567890abcdef1234567890abcdef12",
        "chainId": "100"
      }
    ],
    "kycStatus": "approved",
    "availableFeatures": {
      "moneriumIban": true
    },
    "cards": [
      {
        "id": "card_123",
        "cardToken": "card_token_456",
        "lastFourDigits": "1234",
        "embossedName": "John Doe",
        "activatedAt": "2024-01-15T10:30:00Z",
        "virtual": false
      }
    ],
    "bankingDetails": {
      "moneriumIban": "GB82WEST12345698765432",
      "moneriumBic": "WESTGB22",
      "moneriumIbanStatus": "ASSIGNED",
      "address": "123 Main Street, New York, NY 10001"
    },
    "isSourceOfFundsAnswered": true,
    "isPhoneValidated": true
  }
}

kyc.status.changed

Triggered when a user’s KYC status changes. Event Type: kyc.status.changed Schema Definition:
{
  eventType: "kyc.status.changed";
  data: {
    /** Unique user identifier */
    id: string;
    /** User email address */
    email: string;
    /** User phone number */
    phone: string;
    /** User first name */
    firstName: string;
    /** User last name */
    lastName: string;
    /** Primary address line */
    address1: string;
    /** Secondary address line */
    address2: string;
    /** City */
    city: string;
    /** Postal/ZIP code */
    postalCode: string;
    /** State/Province */
    state: string;
    /** Country */
    country: string;
    /** Nationality country */
    nationalityCountry: string;
    /** User's sign-in wallet addresses */
    signInWallets: {
      /** Wallet address */
      address: string;
    }[];
    /** User's safe wallet addresses */
    safeWallets: {
      /** Safe wallet address */
      address: string;
      /** Blockchain chain ID */
      chainId: string;
    }[];
    /** KYC verification status */
    kycStatus: "notStarted" | "documentsRequested" | "pending" | "processing" | "approved" | "resubmissionRequested" | "rejected" | "requiresAction";
    /** Available features for the user */
    availableFeatures: {
      /** Whether Monerium IBAN is available */
      moneriumIban: boolean;
    };
    /** User's cards */
    cards: {
      /** Card ID */
      id: string;
      /** Card token */
      cardToken: string;
      /** Last four digits of card */
      lastFourDigits: string;
      /** Name embossed on card */
      embossedName: string;
      /** Card activation timestamp */
      activatedAt: string;
      /** Whether card is virtual */
      virtual: boolean;
    }[];
    /** User's banking details */
    bankingDetails: {
      /** Monerium IBAN */
      moneriumIban: string;
      /** Monerium BIC */
      moneriumBic: string;
      /** Monerium IBAN status */
      moneriumIbanStatus: string;
      /** Banking address */
      address: string;
    };
    /** Whether source of funds question was answered */
    isSourceOfFundsAnswered: boolean;
    /** Whether phone number is validated */
    isPhoneValidated: boolean;
  };
}
Example:
{
  "eventType": "kyc.status.changed",
  "data": {
    "id": "user_123",
    "email": "user@example.com",
    "phone": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "nationalityCountry": "US",
    "signInWallets": [
      {
        "address": "0x1234567890abcdef1234567890abcdef12345678"
      }
    ],
    "safeWallets": [
      {
        "address": "0xabcdef1234567890abcdef1234567890abcdef12",
        "chainId": "100"
      }
    ],
    "kycStatus": "approved",
    "availableFeatures": {
      "moneriumIban": true
    },
    "cards": [
      {
        "id": "card_123",
        "cardToken": "card_token_456",
        "lastFourDigits": "1234",
        "embossedName": "John Doe",
        "activatedAt": "2024-01-15T10:30:00Z",
        "virtual": false
      }
    ],
    "bankingDetails": {
      "moneriumIban": "GB82WEST12345698765432",
      "moneriumBic": "WESTGB22",
      "moneriumIbanStatus": "ASSIGNED",
      "address": "123 Main Street, New York, NY 10001"
    },
    "isSourceOfFundsAnswered": true,
    "isPhoneValidated": true
  }
}

User Lifecycle Events

user.created

Triggered when a new user account is created in the Gnosis Pay system. Event Type: user.created Schema Definition:
{
  eventType: "user.created";
  data: {
    /** Unique user identifier */
    id: string;
    /** User email address */
    email: string;
    /** User phone number */
    phone: string;
    /** User first name */
    firstName: string;
    /** User last name */
    lastName: string;
    /** Primary address line */
    address1: string;
    /** Secondary address line */
    address2: string;
    /** City */
    city: string;
    /** Postal/ZIP code */
    postalCode: string;
    /** State/Province */
    state: string;
    /** Country */
    country: string;
    /** Nationality country */
    nationalityCountry: string;
    /** User's sign-in wallet addresses */
    signInWallets: {
      /** Wallet address */
      address: string;
    }[];
    /** User's safe wallet addresses */
    safeWallets: {
      /** Safe wallet address */
      address: string;
      /** Blockchain chain ID */
      chainId: string;
    }[];
    /** KYC verification status */
    kycStatus: "notStarted" | "documentsRequested" | "pending" | "processing" | "approved" | "resubmissionRequested" | "rejected" | "requiresAction";
    /** Available features for the user */
    availableFeatures: {
      /** Whether Monerium IBAN is available */
      moneriumIban: boolean;
    };
    /** User's cards */
    cards: {
      /** Card ID */
      id: string;
      /** Card token */
      cardToken: string;
      /** Last four digits of card */
      lastFourDigits: string;
      /** Name embossed on card */
      embossedName: string;
      /** Card activation timestamp */
      activatedAt: string;
      /** Whether card is virtual */
      virtual: boolean;
    }[];
    /** User's banking details */
    bankingDetails: {
      /** Monerium IBAN */
      moneriumIban: string;
      /** Monerium BIC */
      moneriumBic: string;
      /** Monerium IBAN status */
      moneriumIbanStatus: string;
      /** Banking address */
      address: string;
    };
    /** Whether source of funds question was answered */
    isSourceOfFundsAnswered: boolean;
    /** Whether phone number is validated */
    isPhoneValidated: boolean;
  };
}
Example:
{
  "eventType": "user.created",
  "data": {
    "id": "user_123",
    "email": "user@example.com",
    "phone": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "nationalityCountry": "US",
    "signInWallets": [
      {
        "address": "0x1234567890abcdef1234567890abcdef12345678"
      }
    ],
    "safeWallets": [
      {
        "address": "0xabcdef1234567890abcdef1234567890abcdef12",
        "chainId": "100"
      }
    ],
    "kycStatus": "approved",
    "availableFeatures": {
      "moneriumIban": true
    },
    "cards": [
      {
        "id": "card_123",
        "cardToken": "card_token_456",
        "lastFourDigits": "1234",
        "embossedName": "John Doe",
        "activatedAt": "2024-01-15T10:30:00Z",
        "virtual": false
      }
    ],
    "bankingDetails": {
      "moneriumIban": "GB82WEST12345698765432",
      "moneriumBic": "WESTGB22",
      "moneriumIbanStatus": "ASSIGNED",
      "address": "123 Main Street, New York, NY 10001"
    },
    "isSourceOfFundsAnswered": true,
    "isPhoneValidated": true
  }
}

user.tos.accepted

Triggered when a user accepts the Terms of Service. Event Type: user.tos.accepted Schema Definition:
{
  eventType: "user.tos.accepted";
  data: {
    /** Unique user identifier */
    id: string;
    /** User email address */
    email: string;
    /** User phone number */
    phone: string;
    /** User first name */
    firstName: string;
    /** User last name */
    lastName: string;
    /** Primary address line */
    address1: string;
    /** Secondary address line */
    address2: string;
    /** City */
    city: string;
    /** Postal/ZIP code */
    postalCode: string;
    /** State/Province */
    state: string;
    /** Country */
    country: string;
    /** Nationality country */
    nationalityCountry: string;
    /** User's sign-in wallet addresses */
    signInWallets: {
      /** Wallet address */
      address: string;
    }[];
    /** User's safe wallet addresses */
    safeWallets: {
      /** Safe wallet address */
      address: string;
      /** Blockchain chain ID */
      chainId: string;
    }[];
    /** KYC verification status */
    kycStatus: "notStarted" | "documentsRequested" | "pending" | "processing" | "approved" | "resubmissionRequested" | "rejected" | "requiresAction";
    /** Available features for the user */
    availableFeatures: {
      /** Whether Monerium IBAN is available */
      moneriumIban: boolean;
    };
    /** User's cards */
    cards: {
      /** Card ID */
      id: string;
      /** Card token */
      cardToken: string;
      /** Last four digits of card */
      lastFourDigits: string;
      /** Name embossed on card */
      embossedName: string;
      /** Card activation timestamp */
      activatedAt: string;
      /** Whether card is virtual */
      virtual: boolean;
    }[];
    /** User's banking details */
    bankingDetails: {
      /** Monerium IBAN */
      moneriumIban: string;
      /** Monerium BIC */
      moneriumBic: string;
      /** Monerium IBAN status */
      moneriumIbanStatus: string;
      /** Banking address */
      address: string;
    };
    /** Whether source of funds question was answered */
    isSourceOfFundsAnswered: boolean;
    /** Whether phone number is validated */
    isPhoneValidated: boolean;
  };
}
Example:
{
  "eventType": "user.tos.accepted",
  "data": {
    "id": "user_123",
    "email": "user@example.com",
    "phone": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "nationalityCountry": "US",
    "signInWallets": [
      {
        "address": "0x1234567890abcdef1234567890abcdef12345678"
      }
    ],
    "safeWallets": [
      {
        "address": "0xabcdef1234567890abcdef1234567890abcdef12",
        "chainId": "100"
      }
    ],
    "kycStatus": "approved",
    "availableFeatures": {
      "moneriumIban": true
    },
    "cards": [
      {
        "id": "card_123",
        "cardToken": "card_token_456",
        "lastFourDigits": "1234",
        "embossedName": "John Doe",
        "activatedAt": "2024-01-15T10:30:00Z",
        "virtual": false
      }
    ],
    "bankingDetails": {
      "moneriumIban": "GB82WEST12345698765432",
      "moneriumBic": "WESTGB22",
      "moneriumIbanStatus": "ASSIGNED",
      "address": "123 Main Street, New York, NY 10001"
    },
    "isSourceOfFundsAnswered": true,
    "isPhoneValidated": true
  }
}

Card Events

card.status.changed

Triggered when a card’s status changes. Event Type: card.status.changed Schema Definition:
{
  eventType: "card.status.changed";
  data: {
    /** Card token */
    cardToken: string;
    /** Previous card status */
    oldStatus: string;
    /** New card status */
    newStatus: string;
  };
}
Example:
{
  "eventType": "card.status.changed",
  "data": {
    "cardToken": "card_123",
    "oldStatus": "inactive",
    "newStatus": "active"
  }
}

card.transaction.created

Triggered when a new card transaction is created. Event Type: card.transaction.created Schema Definition:
{
  eventType: "card.transaction.created";
  data: {
    /** Unique card token identifier */
    cardToken: string;
  };
}
Example:
{
  "eventType": "card.transaction.created",
  "data": {
    "cardToken": "card_123456789"
  }
}

physical.card.activated

Triggered when a physical card is activated. Event Type: physical.card.activated Schema Definition:
{
  eventType: "physical.card.activated";
  data: {
    /** Unique card token identifier */
    cardToken: string;
  };
}
Example:
{
  "eventType": "physical.card.activated",
  "data": {
    "cardToken": "card_123456789"
  }
}

physical.card.order.status.changed

Triggered when the status of a physical card order changes. Event Type: physical.card.order.status.changed Schema Definition:
{
  eventType: "physical.card.order.status.changed";
  data: {
    /** Card token */
    cardToken: string;
    /** Card order ID */
    cardOrderId: string;
    /** Previous order status */
    oldStatus: string;
    /** New order status */
    newStatus: string;
  };
}
Example:
{
  "eventType": "physical.card.order.status.changed",
  "data": {
    "cardToken": "card_123",
    "cardOrderId": "order_456",
    "oldStatus": "ordered",
    "newStatus": "shipped"
  }
}

physical.card.ordered

Triggered when a physical card is ordered. Event Type: physical.card.ordered Schema Definition:
{
  eventType: "physical.card.ordered";
  data: {
    /** Card token */
    cardToken: string;
    /** Card order ID */
    id: string;
    /** Order status */
    status: string;
    /** Name to emboss on card */
    embossedName: string;
    /** Primary address */
    address1: string;
    /** Secondary address */
    address2: string;
    /** City */
    city: string;
    /** Postal code */
    postalCode: string;
    /** State */
    state: string;
    /** Country */
    country: string;
    /** Phone number */
    phone: string;
  };
}
Example:
{
  "eventType": "physical.card.ordered",
  "data": {
    "cardToken": "card_123",
    "id": "order_456",
    "status": "ordered",
    "embossedName": "John Doe",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "New York",
    "postalCode": "10001",
    "state": "NY",
    "country": "US",
    "phone": "+1234567890"
  }
}

physical.card.pin.changed

Triggered when a physical card’s PIN is changed. Event Type: physical.card.pin.changed Schema Definition:
{
  eventType: "physical.card.pin.changed";
  data: {
    /** Unique card token identifier */
    cardToken: string;
  };
}
Example:
{
  "eventType": "physical.card.pin.changed",
  "data": {
    "cardToken": "card_123456789"
  }
}

virtual.card.issued

Triggered when a virtual card is issued. Event Type: virtual.card.issued Schema Definition:
{
  eventType: "virtual.card.issued";
  data: {
    /** Unique card token identifier */
    cardToken: string;
  };
}
Example:
{
  "eventType": "virtual.card.issued",
  "data": {
    "cardToken": "card_123456789"
  }
}

Account Events

account.limit.changed

Triggered when an account’s limit changes. Event Type: account.limit.changed Schema Definition:
{
  eventType: "account.limit.changed";
  data: {
    /** Previous account limit */
    oldLimit: number;
    /** New account limit */
    newLimit: number;
  };
}
Example:
{
  "eventType": "account.limit.changed",
  "data": {
    "oldLimit": 1000,
    "newLimit": 2000
  }
}

account.withdrawal.completed

Triggered when an account withdrawal is completed. Event Type: account.withdrawal.completed Schema Definition:
{
  eventType: "account.withdrawal.completed";
  data: {
    /** Transaction ID */
    id: string;
    /** Safe address */
    safeAddress: string;
    /** Transaction data */
    transactionData: string;
    /** Enqueue task ID */
    enqueueTaskId: string;
    /** Dispatch task ID */
    dispatchTaskId: string;
    /** Ready timestamp */
    readyAt: string;
    /** Operation type for delay transaction */
    operationType: "CALL" | "DELEGATECALL";
    /** User ID */
    userId: string;
    /** Delay transaction status */
    status: "QUEUING" | "WAITING" | "EXECUTING" | "EXECUTED" | "FAILED";
    /** Creation timestamp */
    createdAt: string;
  };
}
Example:
{
  "eventType": "account.withdrawal.completed",
  "data": {
    "id": "tx_123",
    "safeAddress": "0x123...",
    "transactionData": "0x456...",
    "enqueueTaskId": "task_789",
    "dispatchTaskId": "task_101",
    "readyAt": "2025-09-03T16:03:21.316Z",
    "operationType": "CALL",
    "userId": "user_123",
    "status": "EXECUTED",
    "createdAt": "2025-09-03T16:03:21.316Z"
  }
}

account.withdrawal.failed

Triggered when an account withdrawal fails. Event Type: account.withdrawal.failed Schema Definition:
{
  eventType: "account.withdrawal.failed";
  data: {
    /** Error message */
    error: string;
  };
}
Example:
{
  "eventType": "account.withdrawal.failed",
  "data": {
    "error": "Transaction failed"
  }
}

Banking Events

iban.created

Triggered when an IBAN is created for a user. Event Type: iban.created Schema Definition:
{
  eventType: "iban.created";
  data: {
    /** International Bank Account Number */
    iban: string;
    /** Bank Identifier Code */
    bic: string;
  };
}
Example:
{
  "eventType": "iban.created",
  "data": {
    "iban": "GB82WEST12345698765432",
    "bic": "WESTGB22"
  }
}

iban.status.changed

Triggered when an IBAN’s status changes. Event Type: iban.status.changed Schema Definition:
{
  eventType: "iban.status.changed";
  data: {
    /** IBAN status */
    previousStatus: "NOTSTARTED" | "PENDING" | "PENDING_OAUTH" | "ASSIGNED";
    /** IBAN status */
    currentStatus: "NOTSTARTED" | "PENDING" | "PENDING_OAUTH" | "ASSIGNED";
  };
}
Example:
{
  "eventType": "iban.status.changed",
  "data": {
    "previousStatus": "PENDING",
    "currentStatus": "ASSIGNED"
  }
}

Safe Wallet Events

safe.created

Triggered when a Safe wallet is created. Event Type: safe.created Schema Definition:
{
  eventType: "safe.created";
  data: {
    /** Safe account ID */
    id: string;
    /** Safe account address */
    address: string;
    /** Account salt */
    salt: string;
    /** Blockchain chain ID */
    chainId: string;
    /** User ID */
    userId: string;
    /** Token symbol */
    tokenSymbol: "GBPe" | "EURe" | "USDCe";
    /** Creation timestamp */
    createdAt: string;
  };
}
Example:
{
  "eventType": "safe.created",
  "data": {
    "id": "safe_123",
    "address": "0x456...",
    "salt": "salt_123",
    "chainId": "100",
    "userId": "user_123",
    "tokenSymbol": "EURe",
    "createdAt": "2025-09-03T16:03:21.315Z"
  }
}

safe.currency.updated

Triggered when a Safe’s currency is updated. Event Type: safe.currency.updated Schema Definition:
{
  eventType: "safe.currency.updated";
  data: {
    /** Safe account ID */
    id: string;
    /** Safe account address */
    address: string;
    /** Account salt */
    salt: string;
    /** Blockchain chain ID */
    chainId: string;
    /** User ID */
    userId: string;
    /** Token symbol */
    tokenSymbol: "GBPe" | "EURe" | "USDCe";
    /** Creation timestamp */
    createdAt: string;
  };
}
Example:
{
  "eventType": "safe.currency.updated",
  "data": {
    "id": "safe_123",
    "address": "0x456...",
    "salt": "salt_123",
    "chainId": "100",
    "userId": "user_123",
    "tokenSymbol": "EURe",
    "createdAt": "2025-09-03T16:03:21.315Z"
  }
}

safe.modules.deployed

Triggered when Safe modules are deployed. Event Type: safe.modules.deployed Schema Definition:
{
  eventType: "safe.modules.deployed";
  data: {
    /** Safe account ID */
    id: string;
    /** Safe account address */
    address: string;
    /** Account salt */
    salt: string;
    /** Blockchain chain ID */
    chainId: string;
    /** User ID */
    userId: string;
    /** Token symbol */
    tokenSymbol: "GBPe" | "EURe" | "USDCe";
    /** Creation timestamp */
    createdAt: string;
  };
}
Example:
{
  "eventType": "safe.modules.deployed",
  "data": {
    "id": "safe_123",
    "address": "0x456...",
    "salt": "salt_123",
    "chainId": "100",
    "userId": "user_123",
    "tokenSymbol": "EURe",
    "createdAt": "2025-09-03T16:03:21.315Z"
  }
}

safe.owner.added

Triggered when an owner is added to a Safe. Event Type: safe.owner.added Schema Definition:
{
  eventType: "safe.owner.added";
  data: {
    /** Current owner address */
    owner: string;
    /** Safe address */
    safeAddress: string;
    /** Newly added owner address */
    addedOwner: string;
  };
}
Example:
{
  "eventType": "safe.owner.added",
  "data": {
    "owner": "0x123...",
    "safeAddress": "0x456...",
    "addedOwner": "0x789..."
  }
}

safe.owner.removed

Triggered when an owner is removed from a Safe. Event Type: safe.owner.removed Schema Definition:
{
  eventType: "safe.owner.removed";
  data: {
    safeAddress: string;
    removedOwner: string;
  };
}
Example:
{
  "eventType": "safe.owner.removed",
  "data": {
    "safeAddress": "0x456...",
    "removedOwner": "0x789..."
  }
}