แพลตฟอร์มและมาร์เก็ตเพลส
ให้ผู้ใช้ทุกคนมีที่อยู่รับคริปโตเป็นของตัวเอง
ที่อยู่เดียวสำหรับทุกคนคือปัญหา เพราะเงินเข้ามาแล้วไม่มีอะไรบอกว่าเป็นของใคร สร้าง customer ด้วย id ผู้ใช้ของคุณเอง แล้วคุณจะได้ที่อยู่รับเงินถาวรที่สร้างจากกระเป๋าของคุณ — ทุกการชำระเงินจึงบอกตัวเองว่าเป็นของใคร และไม่มีเงินก้อนไหนผ่านมือเราเลย
ทำไมที่อยู่เดียวที่ใช้ร่วมกันจึงไม่พอ
ทุกแพลตฟอร์มที่รับคริปโตชนกำแพงเดียวกันตามลำดับเดิม มักเป็นหลังจากตั๋วซัพพอร์ตใบแรกเรื่องเงินที่ไม่มีใครหาเจอ
- ที่อยู่เดียวบอกคุณได้แค่จำนวนเงินและผู้ส่ง ไม่เคยบอกว่าเป็นของผู้ใช้คนไหน การจับคู่ด้วยยอดเงินพังทันทีที่มีสองคนโอนตัวเลขเท่ากัน
- ทางแก้ที่คนมักใช้คือรวมเงินไว้ก่อนแล้วค่อยจ่ายออกทีหลัง — ซึ่งเปลี่ยนฟีเจอร์รับเงินให้กลายเป็นการถือเงินของคนอื่น ซึ่งเป็นภาระหนักที่สุดที่แพลตฟอร์มหนึ่งจะแบกได้
- การขอให้ผู้ใช้แนบ memo หรือรหัสอ้างอิงใช้ได้จนกว่าจะมีใครลืม แล้วหลังจากนั้นก็จะมีมนุษย์นั่งกระทบยอดบล็อกเชนด้วยมือ
เรียกครั้งเดียวต่อผู้ใช้หนึ่งคน
คุณส่ง id ผู้ใช้ของคุณเองไป แล้วได้ที่อยู่ที่ไม่มีวันเปลี่ยนกลับมา การเรียกจึงเกิดตอนสมัครสมาชิกและไม่ต้องทำอีกเลย
- 01
สร้าง customer ด้วย id ของคุณเอง
ส่ง id ผู้ใช้ที่คุณมีอยู่แล้วไปใน `external_ref` Unheld ไม่ได้สร้างรหัสใหม่ที่คุณต้องเก็บและจับคู่ทีหลัง — ระเบียนนี้ถูกทำดัชนีด้วย id ที่ฐานข้อมูลของคุณใช้อยู่แล้ว
- 02
เก็บที่อยู่ที่ได้กลับมา
คำตอบจะมีที่อยู่รับเงินของผู้ใช้คนนั้น สร้างจากกระเป๋าของคุณเอง และเป็นที่อยู่ถาวร คุณจะแสดงมัน ใส่ไว้ในคิวอาร์โค้ด หรือให้ผู้ใช้บันทึกไว้แล้วโอนจากที่ไหนก็ได้
- 03
เติมยอดให้บัญชีเมื่อเว็บฮุกมาถึง
เงินที่เข้าที่อยู่นั้นจะถูกผูกกับ customer เจ้าของที่อยู่ และการแจ้งเตือนจะส่ง `externalRef` ของคุณกลับมาด้วย แอปของคุณจึงเติมยอดให้ id ผู้ใช้ที่มันรู้จักอยู่แล้ว โดยไม่ต้องจับคู่ยอดเงินหรืออ่านบล็อกเชน
การเรียกจริง
คำขอ
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
}'การตอบกลับ
{
"id": "c7f1…",
"external_ref": "user_8412",
"label": "Ada Lovelace",
"evm_address": "0x…",
"supported_assets": ["ETH", "USDC"],
"receive_method": "auto"
}ต้องใช้ API key ที่มีสิทธิ์ `customers:write` ส่วนการอ่านกลับต้องมี `customers:read` ที่อยู่ของทุกเชนที่ผู้ใช้ชำระเงินได้ดูได้จาก `GET /api/v1/customers/:id/addresses`
การชำระเงินหาผู้ใช้ของมันเจอได้อย่างไร
ที่อยู่คือตัวระบุตัวตน เพราะมันเป็นของ customer เพียงรายเดียวและไม่เคยเปลี่ยน เงินที่เข้ามาจึงถูกผูกได้โดยไม่ต้องใช้ memo ไม่ต้องมีช่องอ้างอิง และไม่ต้องค้นด้วยยอดเงิน — สามสิ่งที่พังเสมอเมื่อใช้งานจริง
ใบแจ้งหนี้ก็ผูกกับ customer ได้ด้วย `customerId` ดังนั้นการเรียกเก็บครั้งเดียวและที่อยู่รับเงินถาวรจะถูกผูกกับผู้ใช้คนเดียวกัน ทั้งในแดชบอร์ดและในเว็บฮุกของคุณ
เงินอยู่ที่ไหนจริง ๆ
เงินเข้าที่อยู่ซึ่งสร้างจากกระเป๋าของคุณเอง Unheld เก็บเพียงส่วนสาธารณะแบบอ่านอย่างเดียว จึงย้าย อายัด หรือทำเงินหายไม่ได้ และไม่มียอดคงเหลือใดถูกกักไว้ที่นี่เพื่อจ่ายคืนคุณภายหลัง
สิ่งที่ข้อความข้างต้นไม่ได้ตอบคือ แพลตฟอร์มของคุณเองกำลังถือเงินแทนผู้ใช้อยู่หรือไม่ ซึ่งน่าจะใช่ ถ้าเงินเข้าที่อยู่ที่คุณควบคุมและคุณเป็นหนี้มูลค่านั้นกับผู้ใช้ นั่นเป็นคำถามเกี่ยวกับโครงสร้างและเขตอำนาจกฎหมายของคุณเอง และไม่ใช่คำถามที่เราตอบแทนคุณได้ — โปรดขอคำปรึกษา เรายืนยันได้เพียงฝั่งของเรา คือเงินไม่เคยผ่าน Unheld
การออกแบบบนสิ่งนี้
ทุกข้อในนี้ออกแบบรับมือตอนนี้ง่ายกว่าไปเจอตอนใช้งานจริง
- ที่อยู่ของผู้ใช้ทุกคนสร้างจากกระเป๋าเดียว คือของคุณ นั่นทำให้คุณมีวลีกู้คืนชุดเดียวที่ต้องปกป้อง ไม่ใช่ชุดหนึ่งต่อผู้ใช้หนึ่งคน และหมายความว่าเงินไม่ได้ถูกแยกตามผู้ใช้ในระดับกุญแจ
- ที่อยู่ถาวรถูกใช้ซ้ำโดยตั้งใจ และนั่นคือสิ่งที่ทำให้การผูกบัญชีทำงานได้ แต่ก็หมายความว่าประวัติการจ่ายเงินของผู้ใช้คนหนึ่งให้คุณสามารถโยงกันบนเชนได้โดยใครก็ตามที่รู้ที่อยู่นั้น
- ที่อยู่ของผู้ใช้คงที่ตามตระกูลเชน ที่อยู่ EVM เดียวกันรับเงินได้บนทุกเครือข่าย EVM ที่คุณเปิดใช้ การเปิดเชนใหม่จึงไม่ต้องออกที่อยู่ใหม่
- การลบ customer จะหยุดการเฝ้าดูที่อยู่ของเขา แต่ไม่ได้ — และไม่สามารถ — ย้ายสิ่งที่ส่งไปแล้ว เงินที่มาถึงหลังการลบยังเป็นของคุณ แต่จะไม่มีอะไรแจ้งให้คุณรู้
คำถาม
Unheld ถือเงินของผู้ใช้ผมหรือเปล่า
ไม่ เงินไปที่ที่อยู่ซึ่งสร้างจากกระเป๋าของคุณเอง และ Unheld เก็บเพียงกุญแจสาธารณะแบบอ่านอย่างเดียว จึงไม่มียอดคงเหลือที่นี่และไม่มีอะไรให้ถอน ส่วนคำถามว่าแพลตฟอร์มของคุณเองถือมูลค่าแทนผู้ใช้หรือไม่ เป็นอีกเรื่องหนึ่งซึ่งขึ้นกับโครงสร้างของคุณ และควรได้คำปรึกษาทางกฎหมายมากกว่าคำตอบจากหน้าการตลาด
ผู้ใช้กี่คนที่มีที่อยู่ของตัวเองได้
ไม่มีเพดานจำนวนที่อยู่ต่อผู้ใช้ เพราะที่อยู่ถูกสร้างขึ้นมา ไม่ได้ดึงจากคลังที่มีจำกัด การสร้าง customer รายที่หนึ่งล้านจึงเป็นการทำงานแบบเดียวกับรายแรก สิ่งที่นับคือโควตา customer และจำนวนธุรกรรมของแพ็กเกจคุณ ซึ่งแสดงอยู่ในหน้าราคา
ที่อยู่ของผู้ใช้เปลี่ยนได้ไหม
ไม่ได้ และนั่นคือคุณสมบัติที่การออกแบบทั้งหมดตั้งอยู่บนมัน — ที่อยู่คือสิ่งที่ระบุตัวผู้ใช้ จึงออกครั้งเดียวแล้วอยู่อย่างนั้น คุณจะแสดงมัน ฝังในคิวอาร์โค้ด หรือให้ผู้ใช้เก็บไว้ในกระเป๋าของเขาก็ได้ และอีกหนึ่งปีมันก็ยังถูกต้อง
ถ้าผู้ใช้สองคนจ่ายยอดเท่ากันพร้อมกันล่ะ
ไม่มีอะไรกำกวมเกิดขึ้น เพราะยอดเงินไม่เคยถูกใช้ระบุตัวใครเลย การชำระแต่ละครั้งเข้าที่อยู่ซึ่งเป็นของ customer เพียงรายเดียว และเว็บฮุกก็ส่งรหัสอ้างอิงของคุณเองสำหรับ customer รายนั้นมาด้วย — ยอดเท่ากัน เวลาเดียวกัน หรือผู้ส่งคนเดียวกันจึงไม่มีผลใด ๆ
สร้าง customer หนึ่งรายบน testnet
เรียก API ด้วยคีย์ทดสอบ รับที่อยู่จริงกลับมา แล้วส่งเงิน testnet ไปที่หนึ่งในนั้นเพื่อดูการผูกบัญชีเข้ามา — ก่อนแตะเงินจริง
เริ่มใช้ฟรีนักพัฒนา · การสมัครสมาชิก · ราคา · ไม่ถือครอง · ตอบตรงไปตรงมา