Fordefi Webhooks API

These endpoints allow you to manually trigger your pre-configured webhooks.Use Webhooks describes how to configure webhooks, validate them, and resend them. Webhooks deliver the full set of details about the transaction as retrieved by a call to the Get Transaction endpoint.

OpenAPI Specification

fordefi-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fordefi Address Book Webhooks API
  version: 0.2.0
  description: These endpoints allow you to list the contacts in your address book.<br><br>To add/remove contacts, visit the Fordefi web console. See the <a href='https://docs.fordefi.com/user-guide/address-book'>user guide</a> for more info.
servers:
- url: https://api.fordefi.com/
  description: Production
security:
- bearerAuth: []
tags:
- name: Webhooks
  description: These endpoints allow you to manually trigger your pre-configured webhooks.<br><br><a href='https://docs.fordefi.com/reference/webhooks'>Use Webhooks</a> describes how to configure webhooks, validate them, and resend them. <br><br>Webhooks deliver the full set of details about the transaction as retrieved by a call to the <a href='https://docs.fordefi.com/api/latest/openapi/transactions/get_transaction_api_v1_transactions__id__get'>Get Transaction</a> endpoint.
paths:
  /api/v1/webhooks/test:
    post:
      tags:
      - Webhooks
      summary: Test Webhook
      description: Test a webhook.
      operationId: test_webhook_api_v1_webhooks_test_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWebhookRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_TestWebhookErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
      callbacks:
        webhook_event:
          '{$request.body.url}':
            post:
              tags:
              - Webhooks
              summary: Webhook Event
              operationId: webhook_event__request_body_url__post
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/WebhookEvent'
                required: true
              responses:
                '200':
                  description: Successful Response
                  content:
                    application/json:
                      schema: {}
                '422':
                  description: Validation Error
  /api/v1/webhooks/trigger/transaction/{id}:
    post:
      tags:
      - Webhooks
      summary: Trigger Transaction Webhook
      description: Trigger transaction create and latest state via webhooks.
      operationId: trigger_transaction_webhook_api_v1_webhooks_trigger_transaction__id__post
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the transaction to send events for.
          title: Id
        description: ID of the transaction to send events for.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
  /api/v1/webhooks/trigger/audit-log/{id}:
    post:
      tags:
      - Webhooks
      summary: Trigger Audit Log Webhook
      description: Trigger audit log record delivery via webhooks.
      operationId: trigger_audit_log_webhook_api_v1_webhooks_trigger_audit_log__id__post
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the audit log record to send events for.
          title: Id
        description: ID of the audit log record to send events for.
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
components:
  schemas:
    TonTransactionMessage:
      properties:
        address:
          $ref: '#/components/schemas/TonAccountRepr'
          description: The sender of the message in a user friendly format.
        amount:
          type: string
          pattern: ^\d+$
          title: Amount
          description: The amount of nano tons to send.
          example: '1000000000000000000'
        payload:
          title: Payload
          description: The payload of the message.
          type: string
        state_init:
          title: State Init
          description: The state_init structure contains all the necessary information required to create the initial state of a smart contract.
          type: string
        comment:
          title: Comment
          description: A comment that is attached to the message.
          type: string
      type: object
      required:
      - address
      - amount
      title: TonTransactionMessage
    SuiCommandGasCoinArgument:
      properties:
        type:
          type: string
          const: gas_coin
          title: Type
          description: The type of the command argument.
      type: object
      required:
      - type
      title: SuiCommandGasCoinArgument
      description: The object for the SUI coin used to pay for gas.
    StarknetTransactionResult:
      properties:
        reversion:
          $ref: '#/components/schemas/StarknetReversion'
          description: Details whether the transaction was reverted or not.
        fees:
          $ref: '#/components/schemas/StarknetFees'
          description: The total fee of the first transaction on the trace.
        effects:
          $ref: '#/components/schemas/StarknetEffects'
          description: The effects of the transaction.
      type: object
      required:
      - reversion
      - fees
      - effects
      title: StarknetTransactionResult
    SuiObjectRef:
      properties:
        digest:
          type: string
          maxLength: 44
          minLength: 32
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          title: Digest
          description: The digest of the object.
          example: 9K8mnqJdxf3B7vgFmRhj9JqKqsN5AxvSgWk5faGshEta
        object_id:
          type: string
          maxLength: 66
          minLength: 66
          pattern: ^0[xX][a-fA-F0-9]+$
          title: Object Id
          description: The id of the object.
          example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a'
        version:
          type: string
          pattern: ^0*[1-9]\d*$
          title: Version
          description: The version of the object.
          example: '1000000000000000000'
      type: object
      required:
      - digest
      - object_id
      - version
      title: SuiObjectRef
    StacksAddressBookContactAddressRef:
      properties:
        chain_type:
          type: string
          const: stacks
          title: Chain Type
          description: The type of the chain.
        address:
          type: string
          maxLength: 171
          pattern: ^S[0-9A-Za-z._-]+$
          title: Address
          description: The address on the Stacks chain.
          example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9
        chains:
          items:
            $ref: '#/components/schemas/StacksChain'
          type: array
          title: Chains
          description: The chains the contact belongs to.
        memo:
          title: Memo
          description: Memo is an additional address feature used for identifying a recipient.
          type: string
      type: object
      required:
      - chain_type
      - address
      - chains
      title: StacksAddressBookContactAddressRef
    SuiFundsWithdrawalSource:
      type: string
      enum:
      - sender
      - sponsor
      title: SuiFundsWithdrawalSource
    SuiPureStringInput:
      properties:
        type:
          type: string
          const: string_pure_input
          title: Type
          description: The type of the pure input.
        value:
          type: string
          title: Value
          description: The string value of the pure input argument.
      type: object
      required:
      - type
      - value
      title: SuiPureStringInput
    ApprovalRequestState:
      type: string
      enum:
      - created
      - approved
      - insufficient_approvers
      - auto_approved
      - failed
      title: ApprovalRequestState
      description: Represents the whole approval request state
    SuiBalanceChangeEffect:
      properties:
        priced_asset:
          $ref: '#/components/schemas/PricedAsset'
          description: The asset information.
        diff:
          type: string
          pattern: ^-?\d+$
          title: Diff
          description: The amount of that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
          example: '1000000000000000000'
        address:
          $ref: '#/components/schemas/EnrichedSuiAddress'
          description: The address affected by the balance change.
      type: object
      required:
      - priced_asset
      - diff
      - address
      title: SuiBalanceChangeEffect
    ArchAddressBookContactAddressRef:
      properties:
        chain_type:
          type: string
          const: arch
          title: Chain Type
          description: The type of the chain.
        address:
          type: string
          maxLength: 44
          minLength: 32
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          title: Address
          description: The address on the Arch chain.
          example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
        chains:
          items:
            $ref: '#/components/schemas/ArchChain'
          type: array
          title: Chains
          description: The chains the contact belongs to.
      type: object
      required:
      - chain_type
      - address
      - chains
      title: ArchAddressBookContactAddressRef
    StellarReversionState:
      type: string
      enum:
      - not_reverted
      - unknown_revert
      - insufficient_funds_gas_and_value
      title: StellarReversionState
    WebhookAuditLogEvent:
      properties:
        webhook_id:
          type: string
          format: uuid
          title: Webhook Id
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The time of the webhook event creation in UTC.
        event_id:
          type: string
          format: uuid
          title: Event Id
          description: The unique ID of this event.
        attempt:
          type: integer
          minimum: 1.0
          title: Attempt
          description: The attempt number of this event.
        sent_at:
          type: string
          format: date-time
          title: Sent At
          description: The time the current event was sent in UTC.
        event:
          $ref: '#/components/schemas/AuditLogRecord'
          description: The audit log record.
        event_type:
          type: string
          const: audit_log
          title: Event Type
          description: The type of the event.
      type: object
      required:
      - webhook_id
      - created_at
      - event_id
      - attempt
      - sent_at
      - event
      - event_type
      title: WebhookAuditLogEvent
    SuiPublishCommand:
      properties:
        type:
          type: string
          const: publish
          title: Type
          description: The type of the command.
        modules:
          items:
            type: string
            example: SGVsbG8=
          type: array
          title: Modules
          description: The modules to publish.
        dependencies:
          items:
            type: string
          type: array
          title: Dependencies
          description: The dependencies of the modules.
      type: object
      required:
      - type
      - modules
      - dependencies
      title: SuiPublishCommand
      description: Publish a Move module.
    UtxoEffects:
      properties:
        inputs:
          items:
            $ref: '#/components/schemas/UtxoInput'
          type: array
          title: Inputs
          description: The inputs of the transaction.
        outputs:
          items:
            $ref: '#/components/schemas/UtxoOutput'
          type: array
          title: Outputs
          description: The outputs of the transaction.
        balance_changes:
          items:
            $ref: '#/components/schemas/UtxoBalanceChangeEffect'
          type: array
          title: Balance Changes
          description: The aggregated balance changes of vaults.
        total_value:
          type: string
          pattern: ^\d+$
          title: Total Value
          description: The total value of the transaction.
          example: '1000000000000000000'
        priced_asset:
          $ref: '#/components/schemas/PricedAsset'
          description: The asset information.
      type: object
      required:
      - inputs
      - outputs
      - balance_changes
      - total_value
      - priced_asset
      title: UtxoEffects
    AptosEffects:
      properties:
        balance_changes:
          items:
            $ref: '#/components/schemas/AptosBalanceChangeEffect'
          type: array
          title: Balance Changes
        transfers:
          items:
            $ref: '#/components/schemas/AptosTransferEffect'
          type: array
          title: Transfers
      type: object
      required:
      - balance_changes
      - transfers
      title: AptosEffects
    TransactionPolicyMatchActionType:
      type: string
      enum:
      - allow
      - block
      - require_approval
      title: TransactionPolicyMatchActionType
    ExchangeInternalTransferDetails:
      properties:
        is_internal:
          type: boolean
          title: Is Internal
          description: Is this transfer an internal transfer between two vaults.
        sender:
          $ref: '#/components/schemas/EnrichedExchangeAddress'
          description: The sender of the transaction.
        type:
          type: string
          const: internal_transfer
          title: Type
          description: A transaction from one exchange vault to another.
        recipient:
          $ref: '#/components/schemas/EnrichedExchangeAddress'
          description: The recipient of the transfer.
      type: object
      required:
      - is_internal
      - sender
      - type
      - recipient
      title: ExchangeInternalTransferDetails
    DirectMessagesList:
      properties:
        format:
          type: string
          const: direct
          title: Format
        messages:
          items:
            $ref: '#/components/schemas/DirectMessage'
          type: array
          title: Messages
          description: List of messages in direct format.
      type: object
      required:
      - format
      - messages
      title: DirectMessagesList
    SolanaMessage:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the object in the Fordefi platform.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the object was created.
        modified_at:
          type: string
          format: date-time
          title: Modified At
          description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
        managed_transaction_data:
          description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
          $ref: '#/components/schemas/ManagedTransactionData'
        signatures:
          items:
            $ref: '#/components/schemas/Signature'
          type: array
          title: Signatures
          description: The transaction signatures.
        note:
          title: Note
          description: An optional transaction note.
          type: string
        spam_state:
          $ref: '#/components/schemas/TransactionSpamState'
          description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
          default: unset
        direction:
          $ref: '#/components/schemas/TransactionDirection'
          description: The direction of the transaction.
        signed_externally:
          type: boolean
          title: Signed Externally
          description: Whether the transaction was signed by an external user (for example in case of imported vault).
          default: false
        interacted_vaults:
          items:
            $ref: '#/components/schemas/VaultRef'
          type: array
          title: Interacted Vaults
          description: The vaults that interacted with the transaction.
        related_transactions:
          title: Related Transactions
          description: The related transactions.
          items:
            $ref: '#/components/schemas/RelatedTransaction'
          type: array
        organization_id:
          type: string
          format: uuid
          title: Organization Id
          description: The organization that the transaction belongs to.
        state:
          $ref: '#/components/schemas/NonPushableTransactionState'
          description: The state of the message.
        state_changes:
          items:
            $ref: '#/components/schemas/NonPushableTransactionStateChange'
          type: array
          title: State Changes
          description: The state changes of the message.
        type:
          type: string
          const: solana_message
          title: Type
          description: Solana message type.
        solana_message_type:
          $ref: '#/components/schemas/SolanaMessageType'
          description: The type of the Solana message.
        solana_message_type_details:
          oneOf:
          - $ref: '#/components/schemas/PersonalMessageDetails'
          - $ref: '#/components/schemas/CreateSessionDetails'
          description: The details of the Solana message.
          discriminator:
            propertyName: type
            mapping:
              create_session_message_type: '#/components/schemas/CreateSessionDetails'
              personal_message_type: '#/components/schemas/PersonalMessageDetails'
        expected_result:
          description: Predicted result of the message execution. Only available for intents that Fordefi knows how to simulate, like ERC20 allowances and swaps created in the Fordefi app.
          $ref: '#/components/schemas/SolanaMessageResult'
        string_data:
          type: string
          title: String Data
          description: The message as a string.
        raw_data:
          type: string
          title: Raw Data
          description: The raw data of the message, encoded in base64
          example: SGVsbG8=
        chain:
          $ref: '#/components/schemas/EnrichedSolanaChain'
          description: The details of the chain that this message is on.
        sender:
          $ref: '#/components/schemas/EnrichedSolanaAddress'
          description: The sender of the message.
      type: object
      required:
      - id
      - created_at
      - modified_at
      - signatures
      - direction
      - interacted_vaults
      - organization_id
      - state
      - state_changes
      - type
      - solana_message_type
      - solana_message_type_details
      - string_data
      - raw_data
      - chain
      - sender
      title: SolanaMessage
    PersonRef:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the user in the Fordefi platform.
        user_type:
          type: string
          const: person
          title: User Type
          description: The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer.
        name:
          title: Name
          description: The name of the user.
          example: John Doe
          type: string
        email:
          type: string
          title: Email
          description: The email of the user.
        state:
          $ref: '#/components/schemas/UserState'
          description: The state of the user in the organization.
        role:
          $ref: '#/components/schemas/UserRole'
          description: The role of the user.
      type: object
      required:
      - id
      - user_type
      - email
      - state
      - role
      title: PersonRef
    EvmChain:
      properties:
        chain_type:
          type: string
          const: evm
          title: Chain Type
          description: The type of the chain.
        named_chain_id:
          title: EvmChainName
          description: The EVM chain name can be either one of those supported by the default chains below or a custom chain name if one was added to your organization. <ul><li>`arbitrum_mainnet`</li><li>`arbitrum_sepolia`</li><li>`aster_mainnet`</li><li>`avalanche_chain`</li><li>`avalanche_fuji`</li><li>`base_mainnet`</li><li>`berachain_mainnet`</li><li>`blast_mainnet`</li><li>`bsc_mainnet`</li><li>`canto_mainnet`</li><li>`clink_mainnet`</li><li>`clink_testnet`</li><li>`conflux_mainnet`</li><li>`dymension_mainnet`</li><li>`ethereum_goerli`</li><li>`ethereum_holesky`</li><li>`ethereum_mainnet`</li><li>`ethereum_sepolia`</li><li>`fantom_mainnet`</li><li>`flare_mainnet`</li><li>`flare_testnet`</li><li>`gnosis_mainnet`</li><li>`hypercore_mainnet`</li><li>`hyperevm_mainnet`</li><li>`ink_mainnet`</li><li>`kava_mainnet`</li><li>`katana_mainnet`</li><li>`linea_mainnet`</li><li>`optimism_mainnet`</li><li>`pharos_mainnet`</li><li>`plasma_mainnet`</li><li>`manta_pacific_mainnet`</li><li>`mantle_mainnet`</li><li>`merlin_mainnet`</li><li>`monad_mainnet`</li><li>`polygon_mainnet`</li><li>`polygon_mumbai`</li><li>`polygon_zkevm_mainnet`</li><li>`reya_mainnet`</li><li>`robinhood_mainnet`</li><li>`rootstock_mainnet`</li><li>`scroll_mainnet`</li><li>`sei_mainnet`</li><li>`sonic_mainnet`</li><li>`tempo_mainnet`</li><li>`unichain_mainnet`</li><li>`xai_mainnet`</li><li>`x_layer_mainnet`</li><li>`zero_gravity_mainnet`</li><li>`zeta_mainnet`</li><li>`zklink_nova_mainnet`</li><li>`zksync_era_mainnet`</li></ul>
          type: string
          minLength: 1
        chain_id:
          type: integer
          minimum: 1.0
          title: EvmChainId
          description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization. <ul><li>1=`ethereum_mainnet`</li><li>5=`ethereum_goerli`</li><li>10=`optimism_mainnet`</li><li>14=`flare_mainnet`</li><li>16=`flare_testnet`</li><li>30=`rootstock_mainnet`</li><li>56=`bsc_mainnet`</li><li>100=`gnosis_mainnet`</li><li>130=`unichain_mainnet`</li><li>137=`polygon_mainnet`</li><li>143=`monad_mainnet`</li><li>146=`sonic_mainnet`</li><li>169=`manta_pacific_mainnet`</li><li>196=`x_layer_mainnet`</li><li>250=`fantom_mainnet`</li><li>324=`zksync_era_mainnet`</li><li>999=`hyperevm_mainnet`</li><li>1030=`conflux_mainnet`</li><li>1100=`dymension_mainnet`</li><li>1101=`polygon_zkevm_mainnet`</li><li>1329=`sei_mainnet`</li><li>1337=`hypercore_mainnet`</li><li>1666=`aster_mainnet`</li><li>1672=`pharos_mainnet`</li><li>1729=`reya_mainnet`</li><li>2222=`kava_mainnet`</li><li>4200=`merlin_mainnet`</li><li>4217=`tempo_mainnet`</li><li>4663=`robinhood_mainnet`</li><li>5000=`mantle_mainnet`</li><li>7000=`zeta_mainnet`</li><li>7700=`canto_mainnet`</li><li>8453=`base_mainnet`</li><li>8818=`clink_mainnet`</li><li>8819=`clink_testnet`</li><li>9745=`plasma_mainnet`</li><li>16661=`zero_gravity_mainnet`</li><li>17000=`ethereum_holesky`</li><li>80001=`polygon_mumbai`</li><li>80094=`berachain_mainnet`</li><li>42161=`arbitrum_mainnet`</li><li>43113=`avalanche_fuji`</li><li>43114=`avalanche_chain`</li><li>57073=`ink_mainnet`</li><li>59144=`linea_mainnet`</li><li>81457=`blast_mainnet`</li><li>421614=`arbitrum_sepolia`</li><li>534352=`scroll_mainnet`</li><li>660279=`xai_mainnet`</li><li>747474=`katana_mainnet`</li><li>810180=`zklink_nova_mainnet`</li><li>11155111=`ethereum_sepolia`</li></ul>
        unique_id:
          type: string
          minLength: 1
          title: EvmChainUniqueId
          description: The unique EVM chain ID. </br>Can be either one of those supported by the default chains below or a custom numeric chain ID `evm_<numeric_chain_id>` if one was added to your organization. <ul><li>`"evm_1"`</li><li>`"evm_5"`</li><li>`"evm_10"`</li><li>`"evm_14"`</li><li>`"evm_16"`</li><li>`"evm_30"`</li><li>`"evm_56"`</li><li>`"evm_100"`</li><li>`"evm_130"`</li><li>`"evm_137"`</li><li>`"evm_143"`</li><li>`"evm_146"`</li><li>`"evm_169"`</li><li>`"evm_196"`</li><li>`"evm_250"`</li><li>`"evm_324"`</li><li>`"evm_999"`</li><li>`"evm_1030"`</li><li>`"evm_1100"`</li><li>`"evm_1101"`</li><li>`"evm_1329"`</li><li>`"evm_1337"`</li><li>`"evm_1666"`</li><li>`"evm_1672"`</li><li>`"evm_1729"`</li><li>`"evm_2222"`</li><li>`"evm_4200"`</li><li>`"evm_4217"`</li><li>`"evm_4663"`</li><li>`"evm_5000"`</li><li>`"evm_7000"`</li><li>`"evm_7700"`</li><li>`"evm_8453"`</li><li>`"evm_8818"`</li><li>`"evm_8819"`</li><li>`"evm_9745"`</li><li>`"evm_16661"`</li><li>`"evm_17000"`</li><li>`"evm_80001"`</li><li>`"evm_80094"`</li><li>`"evm_42161"`</li><li>`"evm_43113"`</li><li>`"evm_43114"`</li><li>`"evm_57073"`</li><li>`"evm_59144"`</li><li>`"evm_81457"`</li><li>`"evm_421614"`</li><li>`"evm_534352"`</li><li>`"evm_660279"`</li><li>`"evm_747474"`</li><li>`"evm_810180"`</li><li>`"evm_11155111"`</li><li>`"evm_ethereum_mainnet"`</li><li>`"evm_ethereum_goerli"`</li><li>`"evm_optimism_mainnet"`</li><li>`"evm_flare_mainnet"`</li><li>`"evm_flare_testnet"`</li><li>`"evm_rootstock_mainnet"`</li><li>`"evm_bsc_mainnet"`</li><li>`"evm_gnosis_mainnet"`</li><li>`"evm_unichain_mainnet"`</li><li>`"evm_polygon_mainnet"`</li><li>`"evm_monad_mainnet"`</li><li>`"evm_sonic_mainnet"`</li><li>`"evm_manta_pacific_mainnet"`</li><li>`"evm_x_layer_mainnet"`</li><li>`"evm_fantom_mainnet"`</li><li>`"evm_zksync_era_mainnet"`</li><li>`"evm_hyperevm_mainnet"`</li><li>`"evm_conflux_mainnet"`</li><li>`"evm_dymension_mainnet"`</li><li>`"evm_polygon_zkevm_mainnet"`</li><li>`"evm_sei_mainnet"`</li><li>`"evm_hypercore_mainnet"`</li><li>`"evm_aster_mainnet"`</li><li>`"evm_pharos_mainnet"`</li><li>`"evm_reya_mainnet"`</li><li>`"evm_kava_mainnet"`</li><li>`"evm_merlin_mainnet"`</li><li>`"evm_tempo_mainnet"`</li><li>`"evm_robinhood_mainnet"`</li><li>`"evm_mantle_mainnet"`</li><li>`"evm_zeta_mainnet"`</li><li>`"evm_canto_mainnet"`</li><li>`"evm_base_mainnet"`</li><li>`"evm_clink_mainnet"`</li><li>`"evm_clink_testnet"`</li><li>`"evm_plasma_mainnet"`</li><li>`"evm_zero_gravity_mainnet"`</li><li>`"evm_ethereum_holesky"`</li><li>`"evm_polygon_mumbai"`</li><li>`"evm_berachain_mainnet"`</li><li>`"evm_arbitrum_mainnet"`</li><li>`"evm_avalanche_fuji"`</li><li>`"evm_avalanche_chain"`</li><li>`"evm_ink_mainnet"`</li><li>`"evm_linea_mainnet"`</li><li>`"evm_blast_mainnet"`</li><li>`"evm_arbitrum_sepolia"`</li><li>`"evm_scroll_mainnet"`</li><li>`"evm_xai_mainnet"`</li><li>`"evm_katana_mainnet"`</li><li>`"evm_zklink_nova_mainnet"`</li><li>`"evm_ethereum_sepolia"`</li></ul>
      type: object
      required:
      - chain_type
      - chain_id
      - unique_id
      title: EvmChain
    Erc721:
      properties:
        address:
          $ref: '#/components/schemas/EvmAddress'
          description: The token address
        name:
          type: string
          title: Name
          description: The token name
        symbol:
          type: string
          title: Symbol
          description: The token symbol or ticker
        type:
          type: string
          const: erc721
          title: Type
          description: The type of the token
      type: object
      required:
      - address
      - name
      - symbol
      - type
      title: Erc721
    SuiChainUniqueId:
      type: string
      enum:
      - sui_mainnet
      - sui_testnet
      title: SuiChainUniqueId
    TonRawTransactionDetails:
      properties:
        type:
          type: string
          const: raw_transaction
          title: Type
          description: A transaction with a contract call.
        recipients:
          items:
            $ref: '#/components/schemas/EnrichedTonAddress'
          type: array
          title: Recipients
          description: The called contract.
      type: object
      required:
      - type
      - recipients
      title: TonRawTransactionDetails
    HyperliquidUsdClassTransferAction:
      properties:
        action_type:
          type: string
          const: usd_class_transfer
          title: Action Type
          d

# --- truncated at 32 KB (521 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fordefi/refs/heads/main/openapi/fordefi-webhooks-api-openapi.yml