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
swapon our router at least 5 times in the last 30 days".
Set it up
- Under Who gets it, press Requirement and pick Onchain activity.
- Under Select what to check, choose First transaction, Transaction count, Contract deployment or Contract call.
- Pick the chain.
- 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. - For Transaction count, optionally enter a To address to count only transactions sent to it.
- Set the time window: Pick a date for fixed dates, or Relative period for a rolling window such as "the last 30 days".
- 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. |