Product: StakePay

Table of Content

Table of Content

Table of Content

Developer Experience

See how developers can integrate StakePay in minutes using SDKs, APIs, and prebuilt UI components.

Installation:

npm install @stakefy/sdk

Basic Integration:

import { StakefyProvider, StakePay } from '@stakefy/sdk';

function App() {
  return (
    <StakefyProvider 
      apiKey={process.env.STAKEFY_API_KEY}
      network="mainnet-beta"
    >
      <SubscriptionPage />
    </StakefyProvider>
  );
}

function SubscriptionPage() {
  const handleStakeSuccess = (txHash, stakeDetails) => {
    console.log('Stake successful:', txHash);
    // Grant user access to your service
    grantAccess(stakeDetails.userWallet);
  };

  return (
    <StakePay
      serviceId="your-service-id"
      requiredStake={{
        amount: 1200,
        token: 'USDC',
        minAPY: 5
      }}
      onSuccess={handleStakeSuccess}
      onError={(error) => console.error('Stake failed:', error)}
      theme="dark"
    />
  );
}

Backend Verification:

const Stakefy = require('@stakefy/node');

const client = new Stakefy({
  apiKey: process.env.STAKEFY_SECRET_KEY
});

// Middleware to protect routes
async function requireActiveStake(req, res, next) {
  const { wallet } = req.user;
  
  const stakeStatus = await client.verifyStake({
    walletAddress: wallet,
    serviceId: 'your-service-id'
  });
  
  if (stakeStatus.hasActiveStake) {
    next();
  } else {
    res.status(403).json({ 
      error: 'Active stake required',
      stakingUrl: 'https://app.stakefy.io/stake'
    });
  }
}

app.get('/api/premium-content', requireActiveStake, (req, res) => {
  res.json({ data: 'Premium content here' });
});