Skip to main content

Vendor Program

Join the Deeployd Vendor Program to monetize your AI agents and reach thousands of potential customers.

Why Become a Vendor?

  • Monetize expertise: Turn your agents into recurring revenue
  • Reach customers: Access the Deeployd user base
  • Focus on building: We handle payments, distribution, and support infrastructure
  • Grow with tiers: Better terms as you succeed

Eligibility Requirements

Before applying, ensure you meet these requirements:

RequirementDetails
SubscriptionPro, Business, or Enterprise plan
Account AgeAt least 30 days old
ExperienceAt least 1 deployed agent

Check your eligibility:

const eligibility = await client.store.checkEligibility();

console.log({
eligible: eligibility.passed,
hasProSubscription: eligibility.hasProSubscription,
accountAgeDays: eligibility.accountAgeDays,
deployedAgentCount: eligibility.deployedAgentCount
});

Application Process

Step 1: Start Application

const application = await client.store.applications.create();

// Status: draft
console.log(application.id);

Step 2: Complete Profile

await client.store.applications.updateProfile({
displayName: 'AI Solutions Co',
bio: 'We build intelligent agents for enterprise automation.',
website: 'https://aisolutions.co',
supportEmail: 'support@aisolutions.co',
portfolioUrls: [
'https://aisolutions.co/portfolio',
'https://github.com/aisolutions'
],
experienceDescription: '5 years building AI solutions for Fortune 500 companies.',
intendedCategories: ['automation', 'support', 'analysis'],
supportResponseTime: '24h' // 24h, 48h, or 72h
});
await client.store.applications.updateLegal({
vendorAgreementAccepted: true,
ethicsCharterAccepted: true,
businessType: 'company', // individual or company
businessName: 'AI Solutions Inc.',
vatNumber: 'EU123456789', // For EU vendors
country: 'Germany'
});

Step 4: Verification

await client.store.applications.updateVerification({
linkedinUrl: 'https://linkedin.com/company/aisolutions',
githubUrl: 'https://github.com/aisolutions'
});

Step 5: Submit for Review

await client.store.applications.submit();

// Application goes to review queue
// Typical review time: 2-5 business days

Application Review

AI Pre-Screening

Your application is first evaluated by AI:

  • Profile completeness check
  • Portfolio quality assessment
  • Business legitimacy verification
  • Category fit analysis

Human Review

If AI score is below 85, a human reviewer evaluates:

  • Business credibility
  • Technical capability
  • Category expertise
  • Support commitment

Possible Outcomes

StatusMeaningNext Steps
approvedWelcome to the program!Set up Stripe Connect
rejectedApplication declinedReview feedback, reapply later
requires_infoMore information neededProvide requested details

Setting Up Payments

After approval, connect your bank account via Stripe:

// Get your vendor profile
const vendor = await client.store.vendor.me();

// Set up Stripe Connect
const setupUrl = await client.store.vendor.setupPayments();

// Redirect user to complete Stripe onboarding
window.location.href = setupUrl;

Payout Settings

await client.store.vendor.update({
payoutSchedule: 'monthly', // weekly, biweekly, monthly
minimumPayout: 5000 // €50 minimum in cents
});

Vendor Tiers

Progression Path

Applicant → Starter → Verified → Partner → Enterprise

Tier Comparison

TierMax ProductsCommissionRequirements
Applicant0N/APending approval
Starter320%First approval
Verified2015%10+ sales, 4.0+ rating, 3+ months
PartnerUnlimited10%50+ sales, 4.5+ rating, 6+ months
EnterpriseUnlimitedCustomContact sales

Volume Discounts

Additional commission discounts based on lifetime revenue:

Revenue MilestoneAdditional Discount
€10,000-2%
€50,000-3%
€100,000-5%
€1,000,000-7%

Minimum commission: 5%

Example: A Partner vendor (10% base) with €100K revenue gets 10% - 5% = 5% commission.

Check Your Progress

const progress = await client.store.vendor.getTierProgress();

console.log({
currentTier: progress.currentTier,
nextTier: progress.nextTier,
requirements: {
salesNeeded: progress.salesNeeded,
ratingNeeded: progress.ratingNeeded,
monthsNeeded: progress.monthsNeeded
},
progress: {
sales: progress.currentSales,
rating: progress.currentRating,
months: progress.monthsActive
}
});

Vendor Badges

Earn badges to increase buyer trust:

BadgeRequirements
SilverVerified tier + Pro subscription
Gold50+ sales + 4.5+ rating
Platinum100+ sales + 4.8+ rating + €50K revenue
const badges = await client.store.vendor.getBadges();

for (const badge of badges.earned) {
console.log({
name: badge.name,
earnedAt: badge.earnedAt
});
}

// Check progress toward next badge
for (const badge of badges.progress) {
console.log({
name: badge.name,
requirements: badge.requirements,
current: badge.current
});
}

Vendor Analytics

Track your store performance:

const analytics = await client.store.vendor.getAnalytics({
startDate: '2024-01-01',
endDate: '2024-01-31'
});

console.log({
// Revenue
totalRevenue: analytics.revenue,
averageOrderValue: analytics.averageOrderValue,

// Sales
totalSales: analytics.sales,
newCustomers: analytics.newCustomers,
repeatCustomers: analytics.repeatCustomers,

// Engagement
totalViews: analytics.views,
installs: analytics.installs,
conversionRate: analytics.conversionRate,

// Ratings
averageRating: analytics.averageRating,
newReviews: analytics.newReviews,
reviewBreakdown: analytics.ratingDistribution,

// Support
openThreads: analytics.openSupportThreads,
avgResponseTime: analytics.avgResponseTime,

// Payouts
pendingPayout: analytics.pendingPayout,
nextPayoutDate: analytics.nextPayoutDate
});

Per-Product Analytics

const products = await client.store.vendor.getProductAnalytics();

for (const product of products.data) {
console.log({
name: product.name,
revenue: product.revenue,
sales: product.sales,
views: product.views,
installs: product.installs,
rating: product.rating,
conversionRate: product.views > 0
? (product.installs / product.views * 100).toFixed(1) + '%'
: '0%'
});
}

Payouts

How Payouts Work

  1. Customer purchases your listing
  2. 14-day refund window passes
  3. Purchase becomes payout-eligible
  4. Payout generated on your schedule
  5. Funds transferred to your bank

Fee Breakdown

For a €100 sale (Starter tier, 20% commission):

Gross Amount:     €100.00
Stripe Fee: -€3.19 (2.9% + €0.30)
Platform Fee: -€19.36 (20% of net)
─────────────────────────
Your Payout: €77.45

View Payout History

const payouts = await client.store.vendor.getPayouts({
status: 'paid', // pending, scheduled, processing, paid, failed
limit: 20
});

for (const payout of payouts.data) {
console.log({
id: payout.id,
period: `${payout.periodStart} - ${payout.periodEnd}`,
gross: payout.grossAmount,
fees: payout.platformFees + payout.stripeFees,
net: payout.netAmount,
purchaseCount: payout.purchaseCount,
status: payout.status,
paidAt: payout.paidAt
});
}

Payout Statistics

const stats = await client.store.vendor.getPayoutStats();

console.log({
lifetimeEarnings: stats.lifetimeNet,
pendingPayout: stats.pendingAmount,
nextPayoutDate: stats.nextPayoutDate,
thisMonthRevenue: stats.currentMonthRevenue
});

Customer Support

Managing Support Threads

const threads = await client.store.vendor.getThreads({
status: 'open' // open, pending_vendor, resolved, closed
});

for (const thread of threads.data) {
console.log({
id: thread.id,
customer: thread.buyerName,
listing: thread.listingName,
subject: thread.subject,
type: thread.threadType,
priority: thread.priority,
unreadCount: thread.unreadVendorCount,
lastMessage: thread.lastMessageAt
});
}

Responding to Customers

// Get thread messages
const messages = await client.store.getThreadMessages('thread-123');

// Send response
await client.store.sendMessage('thread-123', {
content: 'Thanks for reaching out! Here\'s how to solve your issue...'
});

// Update thread status
await client.store.updateThreadStatus('thread-123', {
status: 'resolved'
});

Responding to Reviews

const reviews = await client.store.vendor.getReviews();

// Respond to a review
await client.store.respondToReview('review-123', {
content: 'Thank you for your feedback! We appreciate...'
});

Vendor Profile

Update Your Profile

await client.store.vendor.update({
displayName: 'AI Solutions Co',
bio: 'Building the future of enterprise AI.',
avatarUrl: 'https://cdn.example.com/avatar.png',
website: 'https://aisolutions.co',
supportEmail: 'support@aisolutions.co'
});

Public Profile

Your vendor profile is visible at:

https://deeployd.com/store/vendors/{your-slug}
const profile = await client.store.getVendorProfile('your-slug');

// Shows public info:
// - Display name, bio, avatar
// - Total products, ratings
// - Badges and tier
// - All published listings

Ethics & Guidelines

Vendor Agreement

By joining, you agree to:

  • Provide accurate product descriptions
  • Respond to support within committed timeframe
  • Maintain product quality and documentation
  • Honor the refund policy
  • Not engage in manipulative practices

Prohibited Content

  • Agents that produce harmful content
  • Agents designed to deceive users
  • Agents that violate privacy
  • Agents with excessive permissions
  • Plagiarized or stolen agents

Consequences

ViolationConsequence
MinorWarning
RepeatedListing removal
SeriousAccount suspension
EgregiousPermanent ban

Best Practices

Building for the Store

  1. Solve real problems: Focus on genuine use cases
  2. Document thoroughly: Include setup guides and examples
  3. Add screenshots: Show your agent in action
  4. Set fair prices: Research comparable products
  5. Support promptly: Respond within your committed time

Growing Your Business

  1. Start with free: Build reputation with free products
  2. Collect feedback: Improve based on reviews
  3. Update regularly: Keep products fresh
  4. Cross-promote: Link between your products
  5. Engage community: Participate in forums

Next: Learn how to publish your first listing.