Nền tảng và sàn giao dịch
Cấp cho mỗi người dùng một địa chỉ nạp crypto riêng
Một địa chỉ dùng chung cho tất cả chính là vấn đề: tiền về mà không có gì cho biết đó là của ai. Tạo một customer bằng chính id người dùng của bạn và bạn nhận được địa chỉ nạp cố định dẫn xuất từ ví của bạn — mỗi khoản thanh toán tự khai báo nó là của ai, và không đồng nào đi qua chúng tôi.
Vì sao một địa chỉ dùng chung không ổn
Mọi nền tảng nhận crypto đều đâm vào cùng một bức tường theo cùng một thứ tự, thường là ngay sau phiếu hỗ trợ đầu tiên về một khoản tiền không ai tìm ra.
- Một địa chỉ duy nhất cho bạn biết số tiền và người gửi, chứ không bao giờ cho biết đó là của người dùng nào. Đối chiếu theo số tiền sẽ vỡ ngay lần đầu có hai người gửi cùng một con số.
- Cách chữa cháy quen thuộc là gom hết lại rồi chi trả sau — và điều đó biến một tính năng thanh toán thành việc giữ tiền của người khác, gánh nặng lớn nhất mà một nền tảng có thể nhận lấy.
- Bảo người dùng dán một memo hay mã tham chiếu sẽ ổn cho tới khi có người quên, và sau đó là một con người ngồi đối chiếu blockchain bằng tay.
Một lệnh gọi cho mỗi người dùng, đúng một lần
Bạn gửi chính mã người dùng của mình. Bạn nhận lại những địa chỉ không bao giờ đổi, nên lệnh gọi chỉ xảy ra lúc đăng ký và không bao giờ lặp lại.
- 01
Tạo customer bằng id của chính bạn
Truyền mã người dùng sẵn có của bạn vào `external_ref`. Unheld không sinh ra một mã mới để rồi bạn phải lưu và ánh xạ lại — bản ghi được lập chỉ mục theo đúng mã mà cơ sở dữ liệu của bạn đang dùng.
- 02
Lưu lại các địa chỉ nhận được
Phản hồi mang theo các địa chỉ nạp của người dùng đó, dẫn xuất từ chính ví của bạn. Chúng cố định, nên bạn có thể hiển thị, đưa vào mã QR, hoặc để người dùng tự lưu và gửi từ bất cứ đâu.
- 03
Ghi có tài khoản khi webhook về
Khoản tiền vào địa chỉ đó được gán cho đúng customer sở hữu nó, và thông báo trả lại chính `externalRef` của bạn. Ứng dụng của bạn ghi có cho một id người dùng nó đã biết, không cần đối chiếu số tiền hay đọc chuỗi khối.
Lệnh gọi thật
Yêu cầu
curl -X POST https://api.unheld.io/api/v1/customers \
-H "Authorization: Bearer $UNHELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_ref": "user_8412",
"label": "Ada Lovelace",
"supported_assets": ["ETH", "USDC"],
"evm": true
}'Phản hồi
{
"id": "c7f1…",
"external_ref": "user_8412",
"label": "Ada Lovelace",
"evm_address": "0x…",
"supported_assets": ["ETH", "USDC"],
"receive_method": "auto"
}Cần API key có quyền `customers:write`; đọc lại thì cần `customers:read`. Địa chỉ trên mọi chuỗi mà người dùng có thể thanh toán nằm ở `GET /api/v1/customers/:id/addresses`.
Một khoản thanh toán tìm về người dùng của nó thế nào
Địa chỉ CHÍNH LÀ mã định danh. Vì nó thuộc về đúng một customer và không bao giờ đổi, khoản tiền về được gán ngay mà không cần memo, không cần trường tham chiếu và không cần tra theo số tiền — ba thứ luôn vỡ khi chạy thật.
Hóa đơn cũng có thể gắn với một customer qua `customerId`, để một lần thu tiền riêng lẻ và một địa chỉ nạp cố định đều quy về cùng một người dùng, trên bảng điều khiển lẫn trong webhook của bạn.
Tiền thật sự nằm ở đâu
Tiền về các địa chỉ dẫn xuất từ chính ví của bạn. Unheld chỉ lưu phần công khai chỉ-đọc, nên không thể chuyển, đóng băng hay làm mất chúng, và ở đây không có số dư nào được giữ để chi trả lại cho bạn sau.
Điều đó không trả lời được câu hỏi liệu chính nền tảng của bạn có đang giữ tiền cho người dùng hay không. Nhiều khả năng là có, nếu tiền về các địa chỉ bạn kiểm soát và bạn nợ người dùng giá trị đó. Đó là câu hỏi về mô hình và pháp lý của riêng bạn, và không phải câu chúng tôi trả lời thay được — hãy tìm tư vấn. Chúng tôi chỉ khẳng định được phía mình: tiền không bao giờ đi qua Unheld.
Thiết kế trên nền này
Mỗi điểm ở đây đều dễ tính trước bây giờ hơn là phát hiện khi đã chạy thật.
- Mọi địa chỉ người dùng đều dẫn xuất từ một ví duy nhất: ví của bạn. Nhờ vậy bạn chỉ phải bảo vệ một cụm từ khôi phục chứ không phải một cụm cho mỗi người dùng — và cũng có nghĩa tiền không được tách riêng theo từng người dùng ở cấp khóa.
- Địa chỉ cố định được tái sử dụng có chủ ý, và chính điều đó khiến việc gán hoạt động. Nó cũng có nghĩa lịch sử thanh toán của một người dùng cho bạn có thể bị liên kết trên chuỗi bởi bất kỳ ai biết địa chỉ của họ.
- Địa chỉ của một người dùng cố định theo họ chuỗi: cùng một địa chỉ EVM nhận trên mọi mạng EVM bạn đã bật. Bật thêm chuỗi mới không buộc phải cấp lại địa chỉ.
- Xóa một customer sẽ dừng việc theo dõi địa chỉ của họ; nó không — và không thể — chuyển đi thứ đã được gửi tới đó. Tiền về sau khi xóa vẫn là của bạn, nhưng sẽ không có gì báo cho bạn biết.
Câu hỏi
Unheld có giữ tiền của người dùng của tôi không?
Không. Tiền đi tới các địa chỉ dẫn xuất từ chính ví của bạn và Unheld chỉ lưu khóa công khai chỉ-đọc, nên ở đây không có số dư và không có gì để rút. Còn việc nền tảng của bạn có đang giữ giá trị cho người dùng hay không là câu hỏi khác, thuộc mô hình của bạn, và xứng đáng được tư vấn pháp lý thay vì một câu trả lời trên trang tiếp thị.
Bao nhiêu người dùng có thể có địa chỉ riêng?
Không có giới hạn địa chỉ trên mỗi người dùng — địa chỉ được dẫn xuất chứ không lấy từ một kho có hạn, nên tạo customer thứ một triệu cũng là thao tác y hệt customer đầu tiên. Thứ được tính là hạn mức customer và số giao dịch của gói bạn dùng, đều ghi trên trang bảng giá.
Địa chỉ của một người dùng có bao giờ đổi không?
Không. Chính tính chất đó là nền móng của toàn bộ thiết kế: địa chỉ định danh người dùng, nên nó được cấp một lần và giữ nguyên. Bạn có thể hiển thị, nhúng vào mã QR, hoặc để người dùng lưu trong ví của họ, và một năm sau nó vẫn đúng.
Nếu hai người dùng trả cùng số tiền vào cùng một lúc thì sao?
Không có gì mơ hồ xảy ra, vì số tiền chưa bao giờ được dùng để nhận diện ai. Mỗi khoản thanh toán về một địa chỉ thuộc đúng một customer, và webhook mang theo mã tham chiếu của riêng bạn cho customer đó — số tiền giống nhau, thời điểm giống nhau hay người gửi giống nhau đều không quan trọng.
Tạo một customer trên testnet
Gọi API bằng khóa thử nghiệm, nhận về địa chỉ thật, rồi gửi một khoản testnet tới đó để xem việc gán về đúng người dùng — trước khi có đồng tiền thật nào.
Bắt đầu miễn phíNhà phát triển · Gói định kỳ · Bảng giá · Không lưu ký · Trả lời thẳng thắn.