Dolphinflow

Triggers

Supported event sources and trigger payloads.

Supported Trigger Types

Dolphinflow supports these trigger types:

  • balance_change
  • token_receipt
  • nft_receipt
  • transaction_status
  • program_log
  • new_token_listing
  • cron
  • webhook

Only some trigger types are currently wired to live event sources. Balance changes, token/NFT account changes, program logs, new token listings, cron schedules, and webhooks have runtime paths. Transaction status exists in schema/UI but does not currently have a dedicated listener implementation.

Balance Change

Use balance_change to watch a Solana account balance.

Config fields:

  • address: Solana account address.
  • minChange: minimum lamport delta before the workflow runs.
  • changeType: increase, decrease, or any.

Runtime payload fields include:

trigger.address
trigger.previousLamports
trigger.lamports
trigger.changeLamports
trigger.changeSol
trigger.changeDirection
trigger.slot

Token Receipt and NFT Receipt

Use token_receipt or nft_receipt to watch account changes for a token account or NFT-related account.

Config fields include:

  • address: watched Solana account used by the current listener.
  • tokenAccount: token account address, present in shared schemas.
  • tokenMint: optional mint filter, present in shared schemas.
  • walletAddress: NFT wallet address, present in shared schemas.
  • collectionAddress: optional NFT collection filter, present in shared schemas.
  • verifiedOnly: defaults to true in shared schemas.

Runtime payload fields include:

trigger.address
trigger.slot
trigger.accountData
trigger.type

Program Log

Use program_log to listen to logs emitted by a Solana program.

Config fields:

  • programId: Solana program address.
  • logPattern: optional regular expression checked against log lines.
  • mentionedAccounts: present in shared schemas for future filtering.

Runtime payload fields include:

trigger.programId
trigger.signature
trigger.logs
trigger.slot
trigger.err

New Token Listing

Use new_token_listing to watch Birdeye's Solana new listings feed.

Config fields:

  • source: currently birdeye.
  • includeMemePlatforms: includes listings from meme launch platforms when true.
  • minLiquidityUsd: optional listener-side liquidity threshold.
  • minVolume24hUsd: optional listener-side 24h volume threshold.
  • limit: Birdeye page size, from 1 to 20.
  • pollIntervalSeconds: polling interval, minimum 30 seconds.

The listener service must have BIRDEYE_API_KEY configured.

Runtime payload fields include:

trigger.type
trigger.source
trigger.firedAt
trigger.address
trigger.mint
trigger.symbol
trigger.name
trigger.liquidityUsd
trigger.volume24hUsd
trigger.priceUsd
trigger.marketCapUsd
trigger.listedAt

Cron

Use cron to schedule a workflow.

Config fields:

  • schedule: cron expression such as 0 * * * *.
  • timezone: timezone string, defaults to UTC.

Cron schedules must be valid and have an interval of at least one minute. Cron jobs are synced when workflows are enabled, disabled, updated, deleted, or reconciled on API startup.

Runtime payload fields include:

trigger.type
trigger.firedAt
trigger.schedule
trigger.timezone

Webhook

Use webhook to run a workflow from an HTTP request.

Config fields:

  • webhookId: generated endpoint id.
  • inputFormat: optional documented fields for expected request input.
  • authEnabled: whether a header must match before execution.
  • authHeaderName: header name, defaults to Authorization.
  • authHeaderValue: required when auth is enabled.

Runtime payload fields include:

trigger.type
trigger.firedAt
trigger.requestId
trigger.method
trigger.url
trigger.path
trigger.webhookId
trigger.headers
trigger.query
trigger.body
trigger.input
trigger.rawBody
trigger.auth

x402 Paid Webhook

Use x402_payment to require an x402 payment before an HTTP request can queue a workflow execution.

Config fields:

  • webhookId: generated endpoint id.
  • payTo: Solana recipient wallet.
  • price: price string such as $0.001.
  • network: fixed to Solana devnet in the first implementation.
  • description: optional payment description.
  • inputFormat: optional documented fields for expected request input.

Runtime payload fields include all webhook fields plus:

trigger.payment.price
trigger.payment.network
trigger.payment.payTo
trigger.payment.facilitatorUrl
trigger.payment.settlement