Campaign
Entity for Merkle campaigns.
type Campaign {
id: String!
chainId: BigInt!
subgraphId: BigInt!
hash: Bytes!
timestamp: BigInt!
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
): [Action!]!
clawbackAction: Action
category: CampaignCategory!
name: String
nickname: String!
activities(
skip: Int = 0
first: Int = 100
orderBy: Activity_orderBy
orderDirection: OrderDirection
where: Activity_filter
): [Activity!]!
address: Bytes!
admin: Bytes!
aggregateAmount: BigInt!
asset: Asset!
claimedAmount: BigInt!
claimedCount: BigInt!
clawbackTime: BigInt
expiration: BigInt
expires: Boolean!
factory: Factory!
fee: BigInt
ipfsCID: String!
position: BigInt!
root: Bytes!
totalRecipients: BigInt!
version: String!
lockup: Bytes
streamCancelable: Boolean
streamCliff: Boolean
streamCliffDuration: BigInt
streamCliffPercentage: BigInt
streamInitial: Boolean
streamInitialPercentage: BigInt
streamShape: String
streamStart: Boolean
streamStartTime: BigInt
streamTotalDuration: BigInt
streamTranches(
skip: Int = 0
first: Int = 100
orderBy: Tranche_orderBy
orderDirection: OrderDirection
where: Tranche_filter
): [Tranche!]!
streamTransferable: Boolean
}
Fields
Campaign.id ● String! non-null scalar
Unique identifier: {contractAddress}-{chainId}
Campaign.chainId ● BigInt! non-null scalar
The chain ID where the campaign was created (e.g., 137 for Polygon).
Campaign.subgraphId ● BigInt! non-null scalar
Unique global id as tracked by the subgraph watcher.
Campaign.hash ● Bytes! non-null scalar
Hash of the Ethereum transaction that created this campaign.
Campaign.timestamp ● BigInt! non-null scalar
Unix timestamp of the Ethereum transaction that created this campaign.
Campaign.actions ● [Action!]! non-null object
Actions triggered by this campaign.
Campaign.actions.skip ● Int scalar
Campaign.actions.first ● Int scalar
Campaign.actions.orderBy ● Action_orderBy enum
Campaign.actions.orderDirection ● OrderDirection enum
Campaign.actions.where ● Action_filter input
Campaign.clawbackAction ● Action object
Action in which the admin clawed back funds from the campaign.
Campaign.category ● CampaignCategory! non-null enum
Type of campaign, e.g. Instant.
Campaign.name ● String scalar
User-provided name for the campaign, which is null in Airdrops v1.1.
Campaign.nickname ● String! non-null scalar
Internal name generated by us, derived from name or generated from scratch in older versions.
Campaign.activities ● [Activity!]! non-null object
List of daily activity snapshots for days in which at least one action was triggered.
Campaign.activities.skip ● Int scalar
Campaign.activities.first ● Int scalar
Campaign.activities.orderBy ● Activity_orderBy enum
Campaign.activities.orderDirection ● OrderDirection enum
Campaign.activities.where ● Activity_filter input
Campaign.address ● Bytes! non-null scalar
Address of the campaign contract.
Campaign.admin ● Bytes! non-null scalar
Address of the campaign admin, with permission to clawback.
Campaign.aggregateAmount ● BigInt! non-null scalar
Total airdrop amount.
Campaign.asset ● Asset! non-null object
Underlying ERC-20 token distributed via the campaign.
Campaign.claimedAmount ● BigInt! non-null scalar
Total amount claimed so far.
Campaign.claimedCount ● BigInt! non-null scalar
Number of claims made so far.
Campaign.clawbackTime ● BigInt scalar
Unix timestamp when the campaign underwent a clawback.
Campaign.expiration ● BigInt scalar
Unix timestamp when the campaign expires and clawback becomes available (if expires is true).
Campaign.expires ● Boolean! non-null scalar
Flag indicating if the campaign expires or is claimable indefinitely.
Campaign.factory ● Factory! non-null object
The factory contract that deployed this campaign.
Campaign.fee ● BigInt scalar
Minimum fee charged by this campaign, denominated in the native token of the chain (e.g., ETH for Mainnet). Only available in v1.3 and later See https://docs.sablier.com/concepts/fees
Campaign.ipfsCID ● String! non-null scalar
IPFS content identifier for the list of recipients and other static details.
Campaign.position ● BigInt! non-null scalar
Index of the campaign based on the campaignCounter in the Factory entity.
Campaign.root ● Bytes! non-null scalar
Merkle root.
Campaign.totalRecipients ● BigInt! non-null scalar
Total number of recipients.
Campaign.version ● String! non-null scalar
Version of the campaign contract, e.g., v1.3.
Campaign.lockup ● Bytes scalar
Address of the Lockup contract through which streams are created.
Campaign.streamCancelable ● Boolean scalar
Flag indicating whether the claimed streams will be cancelable initially.
Campaign.streamCliff ● Boolean scalar
Flag indicating whether the claimed streams will have a cliff. Only available for Linear streams.
Campaign.streamCliffDuration ● BigInt scalar
The duration of the cliff that the stream will have, in seconds. Only available for Linear streams.
Campaign.streamCliffPercentage ● BigInt scalar
The amount that will unlock at the cliff of the claimed stream, expressed as a percentage of the total amount. Only available for Linear streams.
Campaign.streamInitial ● Boolean scalar
Flag indicating whether the claimed stream will have an initial unlock. Only available for Linear streams.
Campaign.streamInitialPercentage ● BigInt scalar
The initial unlock amount of the claimed stream, expressed as a percentage of the total. Only available for Linear streams.
Campaign.streamShape ● String scalar
The shape of the distribution.
Campaign.streamStart ● Boolean scalar
Flag indicating if the claimed stream will have a preset start time or it will use the claim time as the start time.
Campaign.streamStartTime ● BigInt scalar
Unix timestamp for the start time.
Campaign.streamTotalDuration ● BigInt scalar
Snapshot of the duration in seconds for produced streams.
Campaign.streamTranches ● [Tranche!]! non-null object
Tranches of the claimed stream.
Campaign.streamTranches.skip ● Int scalar
Campaign.streamTranches.first ● Int scalar
Campaign.streamTranches.orderBy ● Tranche_orderBy enum
Campaign.streamTranches.orderDirection ● OrderDirection enum
Campaign.streamTranches.where ● Tranche_filter input
Campaign.streamTransferable ● Boolean scalar
Flag indicating whether the claimed streams will be transferable.