Skip to main content

Get Started with Shakesco

This quickstart guide will walk you through accepting your first crypto payment using Shakesco. We’ll use Payment Links as an example since it’s the fastest way to get started.

Before You Begin

You’ll need:
  • A Shakesco business account
  • Basic knowledge of making API requests
  • 15 minutes of your time

Step 1: Create Your Shakesco Account

Download the App

Download Shakesco from get.shakesco.com Available for iOS and Android.

Create Personal Account

  1. Open the Shakesco app
  2. Sign up with your email
  3. Complete the onboarding process
  4. Verify your email address

Create Business Account

  1. Hold down the profile button in the navigation bar
  2. When the pop-up appears, select “Create a business wallet”
  3. Enter your business details
  4. Complete business verification
You need both a personal account and a business account. The business account is where you’ll manage payments and API credentials.

Step 2: Get Your API Credentials

Access Your Business Dashboard

  1. Switch to your business account in the app
  2. Navigate to SettingsAPI Keys
  3. Generate a new API key

Save Your Credentials

You’ll receive:
  • API Key: Used to authenticate requests
  • Business Address: Your business wallet address
Keep your API key secure. Never commit it to version control or share it publicly.

Step 3: Make Your First API Call

Let’s create a payment link to accept a one-time payment.
curl -X POST https://api.shakesco.com/payment-links/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "10.00",
    "currency": "USDT",
    "description": "Test Payment",
    "customerEmail": "[email protected]"
  }'

Response

{
  "success": true,
  "paymentLink": {
    "id": "pl_1234567890",
    "url": "https://pay.shakesco.com/pl_1234567890",
    "amount": "10.00",
    "currency": "USDT",
    "status": "pending",
    "createdAt": "2024-02-09T10:00:00Z"
  }
}
Copy the url from the response and share it with your customer:
https://pay.shakesco.com/pl_1234567890
When your customer clicks the link and completes payment, you’ll receive the funds in your business wallet.

Step 4: Check Payment Status

You can check if the payment was completed:
curl -X GET https://api.shakesco.com/payment-links/pl_1234567890 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "paymentLink": {
    "id": "pl_1234567890",
    "url": "https://pay.shakesco.com/pl_1234567890",
    "amount": "10.00",
    "currency": "USDT",
    "status": "completed",
    "paidAt": "2024-02-09T10:05:32Z",
    "customerEmail": "[email protected]",
    "transactionHash": "0x1234..."
  }
}

Step 5: Set Up Webhooks (Optional)

Instead of polling for payment status, receive instant notifications when payments complete.

Configure Webhook URL

  1. Go to SettingsWebhooks in your business dashboard
  2. Add your webhook endpoint URL
  3. Select events to receive (e.g., payment.completed)

Example Webhook Payload

{
  "event": "payment.completed",
  "timestamp": "2024-02-09T10:05:32Z",
  "data": {
    "paymentLinkId": "pl_1234567890",
    "amount": "10.00",
    "currency": "USDT",
    "customerEmail": "[email protected]",
    "transactionHash": "0x1234..."
  }
}

Handle Webhook in Your Backend

// Node.js / Express example
app.post("/webhooks/shakesco", (req, res) => {
  const event = req.body;

  if (event.event === "payment.completed") {
    const paymentId = event.data.paymentLinkId;
    const amount = event.data.amount;

    // Update your database
    // Send confirmation email
    // Fulfill the order

    console.log(`Payment ${paymentId} completed: ${amount} USDT`);
  }

  res.status(200).send("Webhook received");
});

Next Steps

Congratulations! You’ve accepted your first crypto payment. Here’s what to explore next:

Explore Other Products

Common Integration Patterns

Set up subscriptions with Auto-Payments:
curl -X POST https://api.shakesco.com/auto-payments/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerEmail": "[email protected]",
    "amount": "9.99",
    "currency": "USDT",
    "interval": "monthly",
    "description": "Monthly Subscription"
  }'
Add crypto checkout to your website:
<script src="https://checkout.shakesco.com/v1/checkout.js"></script>
<script>
  ShakescoCheckout.create({
    apiKey: 'YOUR_API_KEY',
    amount: '29.99',
    currency: 'USDC',
    onSuccess: (payment) => {
      console.log('Payment successful:', payment);
    }
  });
</script>
Create a token-based rewards program:
  1. Download the Shakesco app
  2. Go to Transact → Token → Launch New Token
  3. Configure your token parameters
  4. Use the API to reward customers:
curl -X POST https://api.shakesco.com/loyalty/claim \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "businessToken": "0xYourTokenAddress",
    "userEmail": "[email protected]",
    "eventName": "signup_bonus"
  }'
Accept multiple cryptocurrencies:
# Accept Bitcoin Lightning
curl -X POST https://api.shakesco.com/payment-links/create \
  -d '{"amount": "10.00", "currency": "BTC"}'

# Accept Ethereum
curl -X POST https://api.shakesco.com/payment-links/create \
  -d '{"amount": "10.00", "currency": "ETH"}'

# Accept USDC on Polygon
curl -X POST https://api.shakesco.com/payment-links/create \
  -d '{"amount": "10.00", "currency": "USDC", "chain": "polygon"}'

Testing

Use the Sandbox Environment

Shakesco provides a sandbox environment for testing:
# Sandbox API endpoint
https://sandbox-api.shakesco.com

# Get sandbox API key from your dashboard
# Settings → API Keys → Create Sandbox Key

Test Payment Flow

  1. Create payment link in sandbox
  2. Use test wallet addresses to simulate payments
  3. Verify webhooks are received correctly
  4. Test error handling and edge cases
Always test your integration thoroughly in sandbox before going live. This prevents issues with real payments.

Authentication

All API requests require authentication using your API key:
-H "Authorization: Bearer YOUR_API_KEY"
Learn more about authentication in the Authentication Guide.

Rate Limits

API rate limits:
  • Standard: 100 requests per minute
  • Business: 1,000 requests per minute
  • Enterprise: Custom limits
If you exceed rate limits, you’ll receive a 429 Too Many Requests response.

Error Handling

Always handle errors gracefully:
try {
  const response = await fetch(
    "https://api.shakesco.com/payment-links/create",
    {
      method: "POST",
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        amount: "10.00",
        currency: "USDT",
      }),
    }
  );

  if (!response.ok) {
    const error = await response.json();
    console.error("API Error:", error.message);
    // Handle error appropriately
  }

  const data = await response.json();
  // Process successful response
} catch (error) {
  console.error("Network Error:", error);
  // Handle network errors
}

Common Error Codes

CodeMeaning
400Bad Request - Invalid parameters
401Unauthorized - Invalid API key
404Not Found - Resource doesn’t exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Contact support

Ready to Build?