Wallet activity

First transaction, transaction count and contract calls.

Wallet activity requirements look at what a member's wallets have done onchain: when they made their first transaction, how many transactions they sent, how many contracts they deployed, and how often they called a contract.

What it's for

  • Filter out fresh wallets: "first transaction before 2024".
  • Reward real users of a chain: "at least 50 transactions on Base".
  • Reward builders: "deployed at least 1 contract".
  • Reward users of your protocol: "called swap on our router at least 5 times in the last 30 days".

Set it up

  1. Under Who gets it, press Requirement and pick Onchain activity.
  2. Under Select what to check, choose First transaction, Transaction count, Contract deployment or Contract call.
  3. Pick the chain.
  4. For Contract call, paste the Contract address. Guild loads the contract's methods so you can pick one under Method. If it can't, type the method's signature yourself, such as transfer(address,uint256). You can also limit the count to calls with given input values or a transaction value range.
  5. For Transaction count, optionally enter a To address to count only transactions sent to it.
  6. Set the time window: Pick a date for fixed dates, or Relative period for a rolling window such as "the last 30 days".
  7. Set the count or date to compare against, then press Add requirement.

Gotchas

  • Fewer chains support wallet activity than balances. The chain picker offers only the ones that do; see Supported chains.
  • A relative period moves with time, so a member can lose the role when old activity falls out of the window.
  • Each requirement checks one chain. To count activity on several chains, add one requirement per chain and combine them with Any one or Some.

Examples

  • OG: First transaction on Ethereum, before 1 January 2022.
  • Active on Base: Transaction count on Base, at least 100.
  • Power users: Contract call to your contract, any method you pick, at least 10 in a relative period of 30 days.

Requirement types

These are the exact types the requirement picker offers, with their fields as you see them in the form.

Chains (23): Ethereum, OP Mainnet, Cronos Mainnet, XDC Network, BNB Smart Chain, Polygon, Sonic, ZKsync Era, Astar EVM, Soneium Mainnet, Ronin, Superseed, Base, IOTA EVM, Arbitrum One, Avalanche, Sophon, Ink, Linea Mainnet, Taiko Mainnet, Monad Mainnet, Hemi, MegaETH. See supported chains.

First Transaction

Members connect a wallet to be checked. Works on every chain listed above except MegaETH.

Field Type Details
Timestamp datetime-local Compare: at most, less than, at least, more than, exactly, anything but, between.

Transaction Count

Members connect a wallet to be checked. Works on every chain listed above except MegaETH.

Field Type Details
Count Number Compare: at least, more than, at most, less than, exactly, anything but, between, within the last, older than.
Count Type Choice If type is TX_COUNT/TX_COUNT_RELATIVE, this determines what kind of transactions to count. One of: Total transactions, Contract deployments, Transactions to an address.
From Number, optional The starting block timestamp in milliseconds (optional)
To Number, optional The ending block timestamp in milliseconds (optional)

Transaction Count Relative

Members connect a wallet to be checked. Works on every chain listed above except MegaETH.

Field Type Details
Count Number Compare: at least, more than, at most, less than, exactly, anything but, between, within the last, older than.
Count Type Choice If type is TX_COUNT/TX_COUNT_RELATIVE, this determines what kind of transactions to count. One of: Total transactions, Contract deployments, Transactions to an address.
Timeframe Number Milliseconds to look back from current time. E.g. 3600000 counts the number of transactions in the last hour.

Contract Call Count

Members connect a wallet to be checked.

Field Type Details
Contract Address Text The contract address
Count Number Compare: at least, more than, at most, less than, exactly, anything but, between, within the last, older than.
From Number, optional Start timestamp in milliseconds
Inputs object-array, optional –
Max Value Number, optional Maximum value for the transaction
Method Text The contract method signature
Min Value Number, optional Minimum value for the transaction
To Number, optional End timestamp in milliseconds

Contract Call Count Relative

Members connect a wallet to be checked.

Field Type Details
Contract Address Text The contract address
Count Number Compare: at least, more than, at most, less than, exactly, anything but, between, within the last, older than.
Inputs object-array, optional –
Max Value Number, optional Maximum value for the transaction
Method Text The contract method signature
Min Value Number, optional Minimum value for the transaction
Timeframe Number Milliseconds to look back from current time. E.g. 3600000 counts the number of transactions in the last hour.

All Guild docs