Vận hành tự động hóa ký gửi mà không phải tự phát minh một bộ quản lý tỷ giá.
Một tích hợp bot không phải là một luồng trình duyệt đã gỡ các nút bấm. Nó cần ngăn trùng lặp, trạng thái an toàn sau khởi động lại, giám hộ ví rõ ràng, xác minh webhook, và một quy tắc rõ ràng cho khi nào thanh khoản nên là riêng tư.
Trình tự bot
- 1Tải một wallet client Base từ hạ tầng ký của riêng bạn.
- 2Gọi deposits(walletAddress) trước khi tạo một khoản ký gửi mới; tái sử dụng kho đang hoạt động khi nó phù hợp với lệnh.
- 3Gọi offramp(walletClient, params) với integratorId và referralId để có thể nhận diện tự động hóa.
- 4Dùng otcTaker khi đã biết người mua; nếu không, khoản ký gửi có thể được lấp công khai.
- 5Lưu lại depositId, txHash, platform, currency, amount, và ngữ cảnh người mua dự kiến.
- 6Đăng ký webhook HMAC để các lượt lấp và đóng tồn tại qua các lần khởi động lại tiến trình.
Kỷ luật thử lại
- SDK tiếp tục các khoản ký gửi chưa ủy thác bằng cách ủy thác thay vì tạo một bản trùng lặp.
- Bộ nhớ đệm idempotencyKey của trình duyệt không bảo vệ các worker Node. Worker của bạn nên kiểm tra deposits(address) trước khi tạo thanh khoản mới.
- Nếu việc ủy thác thất bại sau khi tạo, hãy thử lại cùng một tuyến ví; con đường tiếp tục được thiết kế cho trạng thái đó.
- Đừng tự động thử lại USER_CANCELLED. Điều đó cho thấy một bên ký đã từ chối một lời nhắc.
Các mẫu bot hữu ích
Hàng đợi trả lương hoặc chi trả
Tạo một khoản ký gửi OTC riêng tư cho mỗi ví người mua đã biết, rồi gửi liên kết trả về.
Bot thanh khoản ngân quỹ
Duy trì một khoản ký gửi ủy thác nhỏ trên một tuyến ưa thích và bổ sung lại sau các lượt lấp được webhook xác nhận.
Đối soát hỗ trợ
Dùng depositId và txHash làm các handle hỗ trợ, rồi đối soát với deposits(address).
Keep exploring
Common questions
Một backend có thể tạo các khoản ký gửi mà không cần ví người dùng không?
Có, nếu nó có một bên ký Base riêng và số dư USDC. SDK ký thông qua viem WalletClient bạn cung cấp; việc giám hộ và quản lý khóa thuộc về bạn.
idempotencyKey có ngăn các khoản ký gửi bot trùng lặp không?
Không. idempotencyKey được hỗ trợ bởi phiên trình duyệt. Trong Node hoặc worker, hãy dùng deposits(address) và cơ sở dữ liệu lệnh của riêng bạn để ngăn kho trùng lặp.