Deal filters
How to setup and use storage deal filters
Last updated
How to setup and use storage deal filters
Last updated
Curio provides a flexible filtering system to manage storage deals effectively. User have an option to choose from external filter like CIDGravity and built-in filters. The built-in filters allow you to:
Set pricing rules based on deal duration, size, and whether the data is verified.
Define client-specific rules, including rate limits and acceptable wallets or peers.
Explicitly allow or deny deals from certain wallets, overriding the default acceptance behavior.
By configuring these filters, you can optimize your storage provisioning according to your business needs and network policies.
Pricing Filters determine the price at which you are willing to accept storage deals based on various criteria such as duration, size, and verification status.
Navigate to the Pricing Filters section in the Curio UI.
Click on the "Add Pricing Filter" button.
Fill in the form fields:
Min Duration (Days): The minimum deal duration in days.
Max Duration (Days): The maximum deal duration in days.
Min Size (Bytes): The minimum deal size in bytes.
Max Size (Bytes): The maximum deal size in bytes.
Price (FIL/TiB/Month): The price per TiB per month in FIL.
Verified Deal: Check this box if the filter applies to verified deals.
Submit the form by clicking the "Add" button.
Locate the pricing filter you wish to edit in the table.
Click the "Edit" button next to it.
Modify the desired fields in the form.
Submit the changes by clicking the "Update" button.
Find the pricing filter you want to remove in the table.
Click the "Remove" button next to it.
Confirm the deletion when prompted.
Client Filters allow you to define rules for specific clients, including rate limits and acceptable wallets or peers.
Go to the Client Filters section in the Curio UI.
Click on "Add Client Filter".
Complete the form:
Name: A unique identifier for the client filter.
Active: Check to activate the filter.
Wallets: Comma-separated list of client wallet addresses.
Peers: Comma-separated list of peer IDs.
Pricing Filters: Comma-separated list of pricing filter numbers to apply.
Max Deals per Hour: Maximum number of deals allowed per hour.
Max Deal Size per Hour (GiB): Maximum total deal size per hour in GiB.
Additional Info: Any extra information or notes.
Click "Add" to save the filter.
Identify the client filter you want to edit in the list.
Click the "Edit" button next to it.
Update the fields as needed.
Click "Update" to apply the changes.
Find the client filter in the list.
Click the "Remove" button.
Confirm the deletion when asked.
The Allow/Deny List lets you explicitly permit or reject deals from specific wallets, overriding the default client acceptance behavior.
Note: Specify wallets to explicitly allow or deny deals from, overriding the default client acceptance behavior.
Navigate to the Allow/Deny List section.
Click "Add Allow/Deny Entry".
Fill in the details:
Wallet: The wallet address to allow or deny.
Allow: Check to allow, uncheck to deny.
Click "Add" to save the entry.
Locate the entry in the list.
Click the "Edit" button.
Modify the fields as necessary.
Click "Update" to save changes.
Find the entry you wish to remove.
Click the "Remove" button.
Confirm the action when prompted.
The default allow behaviour determines whether deals from unknown clients are accepted or denied by default. This can be modified in Curio configuration.
False: Deals from unknown clients are accepted unless explicitly denied in the Allow/Deny List.
True: Deals from unknown clients are rejected unless explicitly allowed in the Allow/Deny List.
To view the current default behaviour:
The Curio UI displays the default behaviour in the relevant section, indicating whether deals from unknown clients are allowed or denied.
Example 1: Accepting Large Verified Deals Only
Pricing Filter:
Min Size: 1 TiB
Max Size: 10 TiB
Verified Deal: Yes
Price: 0 FIL/TiB/Month (or your desired price)
Client Filter:
Active: Yes
Max Deals per Hour: 5
Max Deal Size per Hour: 50 GiB
Example 2: Denying Deals from a Specific Wallet
Allow/Deny Entry:
Wallet: t01234...
Allow: Unchecked (deny)
Example 3: Rate Limiting a Client
Client Filter:
Name: HighVolumeClient
Active: Yes
Wallets: t05678...
Max Deals per Hour: 10
Max Deal Size per Hour: 100 GiB
Use Specific Filters: Create filters that closely match your desired deal parameters to avoid unwanted deals.
Regularly Review Filters: Update your filters as your storage provisioning strategy evolves.
Test New Filters: Before deploying filters widely, test them with a small subset to ensure they behave as expected.
Monitor Deal Flow: Keep an eye on incoming deals to adjust filters proactively.
No Deals Being Accepted:
Check if the default allow behaviour is set to deny.
Ensure your filters are not overly restrictive.
Error Messages When Saving Filters:
Review the error displayed in the UI.
Ensure all required fields are filled and values are within acceptable ranges.
Check for duplicates in names or wallet addresses.
Unexpected Deals Being Accepted or Rejected:
Verify the order and specificity of your filters.
Check the Allow/Deny List for conflicting entries.
Review client filters to ensure they are active and correctly configured.
CIDGravity is a powerful pricing and client management tool designed for Filecoin storage providers. It enables storage providers to efficiently filter storage and retrieval deals through a user-friendly interface. With CIDGravity, providers can set rules and policies for accepting or rejecting deals based on their business preferences, ensuring better control over their storage operations.
For more details, refer to the CIDGravity documentation.
CIDGravity integration in Curio is controlled through Curio configuration. To enable CIDGravity, you need to set the below parameters in the configuration. We highly recommend setting these values in "market" layer or a layer used by all market nodes to control the market behaviour.
1. CIDGravityToken
Description: This is the authorization token required to use CIDGravity filters.
Default Behavior: If left empty, CIDGravity filters will not be applied.
Type: string
Example Configuration:
To generate a CIDGravity token claim your miner in CIDGravity. If you already have an existing miner then you can use the same token.
2. DefaultCIDGravityAccept
Description: Defines the default behavior when the CIDGravity service is unavailable.
Default Behavior: If set to false
, deals will be rejected when CIDGravity is not reachable. If set to true
, deals will be accepted even if CIDGravity is not available.
Type: bool
Example Configuration:
Obtain a CIDGravityToken from the CIDGravity platform.
Add the token to the Curio configuration file under CIDGravityToken
.
Set DefaultCIDGravityAccept
based on your preference:
true
to accept deals when CIDGravity is unreachable.
false
to reject deals when CIDGravity is unreachable.
Restart Curio for the changes to take effect.
Verify that CIDGravity is enabled via UI Market Settings page.
Once enabled, Curio will automatically interact with CIDGravity to apply deal filtering and pricing rules according to the policies set in your CIDGravity account.