身份优先
每个敏感操作都引用 user_id、mid_id、account_id、设备会话和风险上下文。
这个产品应作为一个身份绑定的账户系统来构建,钱包、支付、IBC、凭证和冷签名模块都围绕当前选中账户组合。
后端工程师应把 M Wallet 视为已认证账户系统。地址、资产、卡片、发票和收据都属于身份绑定的账户上下文。
每个敏感操作都引用 user_id、mid_id、account_id、设备会话和风险上下文。
Personal、IBC、Vault、Merchant 和 Agent 账户应共享统一账户模型,并按类型配置权限。
付款、兑换、发票和凭证分享动作都应产生不可变收据或审计事件。
支付沟通不是开放聊天,而是存储类型化消息:联系人卡、请求、备注、收据、确认。
Swap、IBC 付款、大额提现、凭证分享和 Vault Card 签名必须通过政策检查。
在获得正式批准和储备框架前,MXCD 相关能力必须标记为 future 或 policy-gated。
这些对象构成后端最小词汇表。前端页面应能基于这些资源组合出所有页面。
表示已验证个人及其身份可信状态。
个人钱包、IBC 公司钱包、Vault 账户和未来账户类型的通用账户容器。
余额按账户和网络归属。外部资产与 FC Chain 主轨道保持分离。
围绕已验证联系人和付款的类型化结构消息。
与 MID 所有人或授权角色关联的公司专属钱包与服务记录。
Apple Wallet 风格凭证,由主管机构签发,并支持选择性披露。
用于高价值操作的 NFC 冷钱包卡和签名会话状态。
已签名官方广播、付款通知、IBC 发票通知或安全提醒。
只要遵守账户上下文、角色策略、类型化操作和审计日志,每个页面都可以独立实施。
主入口页面,展示账户切换器、MID 凭证状态、FC Chain 余额、快捷操作、最新付款请求和基础设施状态。
me with MID stateaccounts[]selected_accountbalances[]latest_payment_requestnotification_counts展示 FC Chain 主轨道、外部网络、USDF/MXCD 政策说明、受控兑换模块和 MID Vault Card 状态。
balances[] by networkasset_metadata[]swap_supported_pairs[]vault_statusnetwork_status[]控制led exchange flow for FC Chain internal pairs. MVP should start with USDF and FCA. Future MXCD routes remain policy-gated.
account_limitseligible_assets[]quote_idrate and expires_atfees[]policy_result围绕已验证联系人的结构化支付沟通。它不是开放聊天,而是支持交易的消息系统。
contact_cardpayment_requestpayment_notereceiptconfirmationIndependent company account space with its own FC Chain 地址, balances, roles, invoices, receipts, and vault policies.
Verified cards for personal and business credentials, with status lifecycle and selective disclosure.
Card-based cold signing for large transfers, company reserve withdrawals, and protected long-term holdings.
用于政府消息、IBC 续期提醒、付款请求和安全提醒的已签名官方通道。
signature_statusissuer_idprioritytarget_account_idaction_url官方 service fee payment path for registry renewals, filings, certificates, and future government services.
invoice_idissuer_signatureamountaccepted_assets[]service_contextreceipt_idOperational security surface for trusted devices, passkeys, transaction limits, notification preferences, recovery contacts, and account export controls.
device_sessions[]auth_methods[]limit_profilerecovery_methods[]vault_cards[]notification_preferences这些示例刻意保持简洁,用来定义前端集成、幂等性、审计日志和未来合规审查所需的数据形态。
{
"message_type": "payment_request",
"conversation_id": "conv_123",
"counterparty_mid": "did:mid:resident:789",
"account_id": "acct_personal_01",
"amount": "125.00",
"asset_code": "USDF",
"note_template": "service_payment",
"expires_at": "2026-05-01T00:00:00Z"
}
{
"account_id": "acct_personal_01",
"from_asset": "USDF",
"to_asset": "FCA",
"amount": "250.00",
"idempotency_key": "uuid-client-generated",
"policy_context": {
"purpose": "wallet_rebalance"
}
}
{
"credential_id": "cred_driver_license_01",
"scope": ["name", "credential_status", "expiry"],
"recipient_type": "service",
"recipient_id": "registry_service",
"expires_in_seconds": 900,
"user_consent": true
}
{
"account_id": "acct_ibc_01",
"operation_type": "large_transfer",
"human_readable_payload": "Send 4,500 USDF to FC...9A2",
"required_card_role": "primary",
"expires_at": "2026-04-26T12:30:00Z"
}
{
"notice_id": "notice_2026_001",
"channel": "official",
"issuer_id": "dro_registry",
"signature_status": "verified",
"priority": "urgent",
"action_url": "/services/invoices/inv_001"
}
{
"receipt_id": "rcpt_001",
"source_type": "service_payment",
"account_id": "acct_ibc_01",
"transaction_hash": "0x...",
"asset_code": "USDF",
"amount": "350.00",
"status": "settled",
"audit_event_id": "audit_001"
}
安全 is account-specific. The backend should calculate required assurance before every sensitive operation and return the next required step.
这是进入实施计划前可以交给工程团队的实用清单。
身份 + account switcher + balances + payment conversation + IBC invoices + receipts first. Add controlled swap and Vault Card signing as gated modules after the core account and audit model is stable.