Pricing & Credits
The ATS Widget is self-serve — there’s no subscription required. Anyone can sign up on app.allfeat.org and create an organization to start using the widget. Each user can create up to 3 organizations for free. Usage is billed per registration from the organization’s credit balance.
Per-Registration Fees
Section titled “Per-Registration Fees”Every blockchain operation has four fee components:
| Fee | Description |
|---|---|
| Network fee | The blockchain transaction cost. Estimated via a dry-run simulation before the actual submission. |
| Deposit | On-chain storage deposit required by the Allfeat blockchain. Includes a base deposit (for new works) or a version deposit (for version updates). |
| Service fee | Allfeat platform fee, calculated as a percentage (basis points) of the transaction cost. |
| Storage fee | Media storage fee. Asset files up to 10 MB are stored for free. Above 10 MB, a storage fee is charged that increases progressively with file size. |
The total price displayed in the widget is the sum of all four:
total_price = network_fee + deposit + service_fee + storage_feeHow It Works
Section titled “How It Works”The pricing is calculated during the prepare phase of the registration flow:
- The user fills the form and submits
- The widget calls
POST /v1/works/prepare(or/versions/prepare) - The API performs a dry-run simulation of the blockchain transaction
- The response includes the exact pricing breakdown:
network_fee_credits— estimated blockchain transaction costtotal_deposit_credits— on-chain storage depositservice_fee_credits— platform service feestorage_fee_credits— media storage fee (0 for files up to 10 MB)total_price_credits— sum of all fees
- The widget proceeds to confirmation and deducts credits automatically
Credit Balance
Section titled “Credit Balance”Checking Your Balance
Section titled “Checking Your Balance”Monitor your credit balance in the Allfeat Dashboard.
Insufficient Credits
Section titled “Insufficient Credits”If your organization’s credit balance is too low:
- Session creation (
POST /v1/sessions) will fail — preventing any widget operation - Your backend will receive an error response when trying to obtain a token
Handle this gracefully in your backend:
const response = await fetch('https://organizations.api.allfeat.org/v1/sessions', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Origin': 'https://yoursite.com' // domain where the widget is embedded }, body: JSON.stringify({ secret_key: process.env.ALLFEAT_SECRET_KEY, action_type: 'register', allowed_network: 'testnet', }),});
if (!response.ok) { const error = await response.json(); // Handle insufficient credits or other errors return res.status(response.status).json({ error: 'Unable to start registration. Please try again later.', });}Topping Up
Section titled “Topping Up”Credits can be purchased and managed through the Allfeat Dashboard.
Pricing Differences by Operation
Section titled “Pricing Differences by Operation”| Operation | Fees Included |
|---|---|
| Register (new work) | Network fee + base deposit + version deposit + service fee + storage fee |
| Update (new version) | Network fee + version deposit + service fee + storage fee |