Overview
WURK offers multiple payment methods for job creation, each with unique advantages:
x402 USDC (Solana) Direct on-chain payments using Solana USDC with the x402 protocol
x402 USDC (Base) Direct on-chain payments using Base USDC with the x402 protocol
Platform Balance Pre-funded SOL balance for job activation
x402 USDC Payments
The x402 protocol enables HTTP-based cryptocurrency payments on multiple blockchain networks. When you create a job with USDC payment:
Job is created with status "unpaid"
You receive payment requirements
You send USDC payment via x402 (on either Solana or Base)
Job activates upon confirmation
Supported Networks
Network : Solana Mainnet
USDC Contract : EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Endpoint Path : /api/x402/jobs/{jobId}/pay
Payment Method : SPL Token Transfer
Network : Base Mainnet
Chain ID : 8453
USDC Contract : 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
Endpoint Path : /api/x402/base/jobs/{jobId}/pay
Payment Method : EIP-3009 Authorization
How x402 Works
Create Job
Specify total_usdc in your job creation request: {
"type" : "social" ,
"total_usdc" : 5.0 ,
// ... other parameters
}
Get Payment Requirements
Request returns 402 status with payment details: Solana: GET /api/x402/jobs/{jobId}/pay
Base: GET /api/x402/base/jobs/{jobId}/pay
Example Solana Response: {
"x402Version" : 1 ,
"accepts" : [
{
"scheme" : "exact" ,
"network" : "solana" ,
"maxAmountRequired" : "2500000" ,
"resource" : "https://wurkapi.fun/api/x402/jobs/61038823/pay" ,
"payTo" : "SAT8g2xU7AFy7eUmNJ9SNrM6yYo7LDCi13GXJ8Ez9kC" ,
"asset" : "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" ,
"maxTimeoutSeconds" : 60 ,
"extra" : {
"feePayer" : "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
}
}
]
}
Example Base Response: {
"x402Version" : 1 ,
"accepts" : [
{
"scheme" : "exact" ,
"network" : "base" ,
"maxAmountRequired" : "2500000" ,
"resource" : "https://wurkapi.fun/api/x402/base/jobs/61038823/pay" ,
"payTo" : "0xF00DAF15713e82fBb7bDC4b818444D93D655DE96" ,
"asset" : "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" ,
"maxTimeoutSeconds" : 60 ,
"extra" : {
"chainId" : 8453 ,
"decimals" : 6 ,
"eip712" : {
"name" : "USD Coin" ,
"version" : "2"
}
}
}
]
}
Send Payment
Use x402 client library to create and send payment: const xPayment = await createPaymentHeader ( signer , x402Version , selected );
Confirm Payment
Send request with X-PAYMENT header: Solana: GET /api/x402/jobs/{jobId}/pay
Headers: X-PAYMENT: {payment_proof}
Base: GET /api/x402/base/jobs/{jobId}/pay
Headers: X-PAYMENT: {payment_proof}
Success response: {
"ok" : true ,
"paid" : true ,
"jobId" : "abc123"
}
USDC Minimum Amounts
Social Jobs
Custom Challenge
Agent Help
Minimum = max($2.50, $0.025 × max_completions)
Examples:
25 completions: $2.50 minimum
100 completions: $2.50 minimum
200 completions: $5.00 minimum
1000 completions: $25.00 minimum
Minimum = max($2.50, $0.025 × max_completions)
Examples:
1 winner: $2.50 minimum
10 winners: $2.50 minimum
100 winners: $2.50 minimum
200 winners: $5.00 minimum
Minimum = max($0.01, $0.01 × max_completions)
Examples:
1 completion: $0.01 minimum
5 completions: $0.05 minimum
10 completions: $0.10 minimum
USDC to SOL Conversion All USDC payments are automatically converted to SOL upon receipt. This ensures seamless reward distribution, as WURK exclusively processes all payouts in SOL. Important for refunds: In the event a refund is required, you will receive the SOL equivalent based on the conversion rate at the time of job creation, not the original USDC amount. Market fluctuations may affect the value you receive back.
Platform balance allows you to deposit funds once and create multiple jobs without individual transactions.
How to Deposit Funds
To add funds to your platform balance:
Visit wurk.fun and log in
Go to your profile page
Click on the deposit option
Choose your preferred payment method:
Direct crypto deposits : SOL or USDC on Solana, Ethereum, or Base
Fiat payments : Via MoonPay integration
All deposits are automatically converted to SOL for use as platform balance.
How Balance Payments Work
Ensure sufficient balance in your account
Set balance_payment: 1 and specify total_bounty_sol
Job activates instantly with status "pending"
Balance is deducted immediately
Using Balance Payments
{
"type" : "social" ,
"balance_payment" : 1 ,
"total_bounty_sol" : 0.15 ,
// ... other parameters
}
Your account must have sufficient balance before creating the job. Check balance with GET /api/external/balance.
SOL Minimum Amounts
Social Jobs
Custom Challenge
Agent Help
Minimum = max(0.01, 0.00012 × max_completions) SOL
Examples:
25 completions: 0.01 SOL minimum
100 completions: 0.012 SOL minimum
500 completions: 0.06 SOL minimum
1000 completions: 0.12 SOL minimum
Minimum = max(0.01, 0.0001 × max_completions) SOL
Examples:
1 winner: 0.01 SOL minimum
50 winners: 0.01 SOL minimum
100 winners: 0.01 SOL minimum
200 winners: 0.02 SOL minimum
Minimum = max(0.0005, 0.0005 × max_completions) SOL
Examples:
1 completion: 0.0005 SOL minimum
5 completions: 0.0025 SOL minimum
10 completions: 0.005 SOL minimum
Fee Structure
WURK charges a 10% platform fee on all jobs, which is used for referrals and vault distribution. Wurkers receive 90% of the total bounty.
Fee Calculation Examples
$10 USDC Job:
Platform fee: $1.00 (10%)
Worker rewards: $9.00 (90%)
With 5 winners: 1 SOL Job:
Platform fee: 0.1 SOL (10%)
Worker rewards: 0.9 SOL (90%)
With 10 winners:
Next Steps