Publish a Model Guide¶
This guide walks you through the complete process of publishing an AI model on WasiAI using the 5-step Publish Wizard.
Before You Start¶
Requirements¶
- Wallet: Connected with some AVAX for gas (~$0.10)
- Metadata: Name, description, category prepared
- Cover Image: 1200x630px recommended (PNG, JPG, or WebP)
- Model Artifact: At least one file to upload to IPFS (weights, configs, documentation)
- Inference Endpoint: Your AI model's API endpoint URL
- Payment Wallet: Address where you'll receive micropayments
Optional¶
- Legal Terms: Terms of service for your model
Step 1: Basic Information¶
Enter the essential details about your model.
Fields¶
| Field | Required | Description |
|---|---|---|
| Name | Yes | Display name for your model |
| Slug | Yes | URL identifier (auto-generated, editable) |
| Short Summary | Yes | Brief description of what your model does |
| Cover Image | Yes | Visual representation (1200x630px recommended) |
| Business Category | Yes | Industry category (Finance, Healthcare, etc.) |
| Model Type | Yes | Type of AI model (Sentiment Analysis, Classification, etc.) |
| Technical Categories | No | Technical classification tags |
| Author Display Name | No | Your name or organization |
| Social Links | No | GitHub, Website, X, LinkedIn |
Tips¶
- Name: Be descriptive but concise. "Crypto Sentiment Analyzer" > "Model 1"
- Slug: Auto-generated from name; you can edit it for SEO
- Cover Image: Use a relevant, high-quality image
Step 2: Customer & Technical Details¶
Describe your model for potential users and provide technical specifications.
Customer Sheet Fields¶
| Field | Required | Description |
|---|---|---|
| Value Proposition | Yes | In one sentence, what does this model do? |
| Customer Description | No | Detailed description for users |
| Industries | No | Target industries (Retail, Finance, etc.) |
| Use Cases | No | Specific use cases |
| Expected Impact | No | What results can users expect? |
| Inputs Description | No | What inputs the model accepts |
| Outputs Description | No | What outputs the model produces |
| Examples | No | Input/output examples |
| Known Limitations | No | Risks and limitations |
| Prohibited Uses | No | What the model should NOT be used for |
| Privacy Notes | No | Data handling information |
| Support | No | How to get help |
| Deploy Options | No | Where the model can run |
Technical Specifications (Optional)¶
| Field | Description |
|---|---|
| Tasks | NLP tasks the model performs |
| Modalities | Input/output modalities (text, image, etc.) |
| Frameworks | PyTorch, TensorFlow, etc. |
| Architecture | Model architecture details |
| Runtime Requirements | Python version, CUDA, etc. |
| Resource Requirements | VRAM, RAM, CPU cores |
Step 3: Artifacts & Inference Configuration¶
Upload model files and configure your inference endpoint.
Artifacts (Required)¶
You must upload at least one artifact with the primary-weights role.
| Field | Required | Description |
|---|---|---|
| File Upload | Yes | Upload file to IPFS |
| Role | Yes | primary-weights, adapter, inference-code, etc. |
| Notes | No | Description of the artifact |
Supported Files: - Model weights (.bin, .pt, .onnx, .safetensors, .gguf) - Configuration files (.json, .yaml) - Documentation (.md, .pdf) - Code samples (.py, .js) - Archives (.zip, .tar.gz)
Inference Configuration (Required)¶
| Field | Required | Description |
|---|---|---|
| Inference Endpoint | Yes | Your model's API endpoint URL |
| Payment Wallet | Yes | Address to receive USDC micropayments |
Endpoint Requirements:
POST https://your-server.com/inference
Content-Type: application/json
Request: { "input": "user input here" }
Response: { "result": { ... } }
File Size Limits¶
| File Type | Max Size |
|---|---|
| Single file | 100MB |
| Total per model | 500MB |
Step 4: Pricing¶
Pricing Options¶
| Type | Description | When to Use |
|---|---|---|
| Per-Inference | Price per API call | Always (required) |
| Perpetual License | One-time purchase | For power users |
Setting Prices¶
Per-Inference Price¶
Required. Users pay this for each API call.
| Model Complexity | Suggested Price |
|---|---|
| Simple (classification) | $0.001 - $0.01 |
| Medium (analysis) | $0.01 - $0.05 |
| Complex (generation) | $0.05 - $0.20 |
Perpetual License Price¶
Optional. One-time payment for unlimited access.
Formula: Per-Inference × Expected Monthly Calls × 12-24 months
Example: $0.01 × 500 calls/month × 12 = $60
License Rights¶
Choose what each license grants:
- API Access: Call the inference endpoint
- Download Access: Download model artifacts
Step 5: Review & Publish¶
Review Checklist¶
Before publishing, verify:
- [ ] Name and description are accurate
- [ ] Cover image displays correctly
- [ ] Pricing is competitive
- [ ] Inference endpoint works (if custom)
- [ ] All required fields are filled
Publication Process¶
- Click "Publish to Blockchain"
- Review the transaction in your wallet
- Confirm the transaction
- Wait for confirmation (~1-2 seconds)
What Happens On-Chain¶
When you publish:
- Model registered in MarketplaceV3
- Agent created in AgentRegistryV2 (ERC-8004)
- Splitter deployed via SplitterFactory
- Metadata stored on IPFS
Gas Costs¶
| Network | Estimated Cost |
|---|---|
| Avalanche Fuji | ~$0.05-0.15 |
| Avalanche Mainnet | ~$0.10-0.30 |
After Publishing¶
Verify Your Listing¶
- Go to the model catalog
- Find your model (may take 1-2 minutes to index)
- Check all information displays correctly
- Test the "Run Model" functionality
Monitor Performance¶
Track your model's success:
- Inference count: How many calls
- Revenue: Total earnings
- Reputation: User feedback scores
Update Your Model¶
To publish a new version:
- Go to your model's page
- Click "Publish Update"
- Use the same slug
- New version joins your model family
Troubleshooting¶
"Transaction Failed"¶
- Check AVAX balance for gas
- Ensure all required fields are filled
- Try refreshing and reconnecting wallet
"Model Not Appearing"¶
- Wait 1-2 minutes for indexing
- Refresh the catalog page
- Check transaction on Snowtrace
"Inference Not Working"¶
- Verify endpoint URL is correct
- Check endpoint is publicly accessible
- Test endpoint directly with curl
"Image Not Loading"¶
- Ensure image is under 5MB
- Use supported format (PNG, JPG, WebP)
- Try re-uploading
Best Practices¶
Metadata¶
- Write clear, specific descriptions
- Include example inputs/outputs
- List any limitations or requirements
- Add relevant keywords for search
Pricing¶
- Research competitor pricing
- Start lower to build reputation
- Adjust based on demand
Maintenance¶
- Monitor user feedback
- Fix issues promptly
- Update regularly
- Engage with users