Overview
The Synapse SDK integrates with Filecoin Pay to handle all payment operations. This guide covers deposits, withdrawals, operator approvals, and payment rail management.Payment Architecture
Filecoin Pay uses payment rails - automated payment channels between payers and payees that support continuous rate-based payments.Quick Start
import { Synapse } from '@filoz/synapse-sdk'
const synapse = await Synapse.create({ privateKey, rpcUrl })
// Check wallet balance (USDFC)
const walletBalance = await synapse.payments.walletBalance('USDFC')
console.log(`Wallet: ${walletBalance} (base units)`)
// Check payments contract balance
const contractBalance = await synapse.payments.balance()
console.log(`Contract: ${contractBalance} (base units)`)
import { parseUnits } from '@filoz/synapse-sdk'
// Deposit 100 USDFC
const hash = await synapse.payments.deposit({
amount: parseUnits('100'),
onAllowanceCheck: (current, required) => {
console.log(`Current allowance: ${current}`)
},
onApprovalTransaction: (tx) => {
console.log(`Approval tx: ${tx}`)
},
onDepositStarting: () => {
console.log('Starting deposit...')
},
})
await synapse.client.waitForTransactionReceipt({ hash })
console.log('Deposit complete')
Operator Approvals
Approve service contracts (like Warm Storage) to create payment rails on your behalf:Check Approval Status
Revoke Approval
Payment Rails
Query Active Rails
Get Rail Details
Settlement
Estimate Settlement
Get settlement amounts without executing:Settle a Rail
Auto-Settle
Automatically detect and settle (handles both active and terminated rails):Emergency Settlement
For terminated rails only (bypasses validation):Advanced Deposits
Deposit with Permit
Use ERC-2612 permit for gasless approval:Deposit and Approve Operator
Combine deposit and operator approval in one transaction:Token Allowances
Check Allowance
Approve Token Spending
Account Information
Formatting Utilities
Best Practices
Monitor Balance
Regularly check payments contract balance to avoid service interruption
Set Allowances
Configure appropriate rate and lockup allowances for operators
Settle Regularly
Settle rails periodically to free up funds
Use Permits
Use permit functions to reduce transaction count
Error Handling
Next Steps
Storage Operations
Learn how to use storage with your payment setup
FileCoin Pay Contract
Deep dive into the payment rails contract