What is RiseID?
A RiseID is a unique 42-character identifier that represents an entity in the Rise ecosystem. It follows the Ethereum address format:0x
followed by 40 hexadecimal characters (e.g., 0x1234567890abcdef1234567890abcdef12345678
).
RiseID Contract Structure
The RiseID contract can be thought of as a collection of wallets, where every wallet has a role inside the contract. This role determines what the wallet can/cannot do within the RiseID.User RiseID
Deployed with the user’s RSK as owner role
Hardware used during onboarding controls the contract
Hardware used during onboarding controls the contract
Company RiseID
Deployed with the user RiseID as owner
All wallets in user RiseID can control company RiseID
All wallets in user RiseID can control company RiseID
Team RiseID
Deployed with its owner company as owner
All wallets in user and company RiseIDs can control team RiseID
All wallets in user and company RiseIDs can control team RiseID
RiseID Hierarchy
The RiseID system implements a hierarchical permission structure:Permission Bubbling
When a user wants to run a transaction in a Team RiseID, they sign with their RSK. Since the RSK is not directly added to the team RiseID, the team RiseID will “bubble up” the permission check through the hierarchy:- Team RiseID checks if RSK has permission → Not found
- Company RiseID checks if RSK has permission → Not found
- User RiseID validates the RSK as a valid owner → Permission granted
RiseID Contract Features
ERC725X and ERC725Y Implementation
The RiseID contract implements ERC725X and ERC725Y standards, which means:- ERC725X: The owner can use the RiseID as a storage for any kind of information using key/value pairs
- ERC725Y: Supports calling arbitrary transactions through its
call
andexecute
functions
Arbitrary Transaction Execution
Wallets controlling a RiseID can:- Encode other contract calls
- Use the RiseID to execute operations
- Store and retrieve data using key/value pairs
RiseID Types and Usage
RiseID vs Nanoid Comparison
Aspect | RiseID | Nanoid |
---|---|---|
Format | 42-character Ethereum address | Variable length string with prefix |
Usage | Authentication and contract control | API operations and balance queries |
Example | 0x1234567890abcdef1234567890abcdef12345678 | te-abc123def456 |
Purpose | On-chain identity and permissions | API endpoint identifiers |
When to Use RiseID
- Authentication: SIWE authentication flow
- Contract Operations: Smart contract interactions
- Permission Management: Role-based access control
- On-chain Identity: Blockchain-based identity verification
When to Use Nanoid
- API Operations: Most API endpoints
- Balance Queries: Entity balance lookups
- Team Management: Team-related operations
- Payment Processing: Payment creation and management
RiseID Recovery
Recovery Process
RiseIDs are controlled by user-owned wallets. If a user loses access to their wallets, they become locked out of their RiseID and cannot perform actions like payments or withdrawals. Recovery Solution: Rise can recover a RiseID by assigning it a new owner address chosen by the user.Recovery Steps
- Contact Support: User contacts Rise support when locked out
- Identity Verification: Support verifies user identity
- New Owner Assignment: Rise assigns a new owner address
- Access Restoration: User regains control of their RiseID
Important: Always maintain secure backup of your wallet credentials. Recovery is available but should be used as a last resort.
Security Considerations
RiseID Security
- 42-character format: RiseID must be exactly 42 characters (Ethereum address format)
- Contract ownership: Only authorized wallets can control RiseID contracts
- Hierarchical permissions: Permission checks bubble up through the hierarchy
- Recovery mechanism: Support can help recover lost access
Best Practices
- Secure wallet storage: Use hardware wallets for high-value operations
- Permission management: Regularly review and update wallet permissions
- Backup strategies: Maintain secure backups of wallet credentials
- Support contact: Keep support contact information readily available