Onboarding Guide
This guide walks you through every action in the Tribute portal, organized by role. No technical knowledge is required.
The Admin is the top-level administrator of the entire system. Only the Admin can create programs and assign Program Admins.
Creating a New Program
- 1Go to the Programs page.
- 2Click Create Program.
- 3Enter a Program Code (short code up to 8 characters, e.g. "SRP"). This cannot be changed later.
- 4Enter a Program Name and Description.
- 5Check the on-chain data disclaimer checkbox.
- 6Click Create and confirm the transaction in your wallet.
Assigning a Program Admin
A Program Admin manages one specific program. They can add members, manage settings, and handle day-to-day operations.
- 1Go to Programs and click on the program name to open its detail view.
- 2Click Add Program Admin.
- 3Enter the Wallet Address (leave empty if they don't have a wallet yet).
- 4Enter a Member ID -- a unique identifier within this program (e.g. "PA-JOHN").
- 5Select a Member Type (Free, VIP, Elite, or PS Partner).
- 6Check the disclaimer, click Assign, and confirm the transaction.
Depositing Tokens into a Program
Before tokens can be distributed to members, they must be deposited into the program.
- 1Go to the Tokens page and select the Deposit tab.
- 2Enter the Program ID, Amount of FULA tokens to deposit.
- 3Optionally select a Reward Type and add a Note (up to 128 characters).
- 4The portal will first ask you to Approve the token transfer (this gives the contract permission to move your FULA tokens).
- 5Then click Deposit and confirm the transaction.
Transferring Tokens to a Sub-Member
After depositing, you can distribute tokens to any member in any program.
- 1Go to the Tokens page and select the Transfer to Sub-Member tab.
- 2Enter the Program ID.
- 3Enter the Recipient -- type their Member ID, wallet address, or click the QR scanner icon to scan their QR code.
- 4Enter the Amount.
- 5Choose a lock type: Unlocked (withdraw immediately), Time-Locked (wait N days), or Permanently Locked (can only transfer back to parent, never withdraw).
- 6Optionally select Reward Type, Sub-Type, and add a Note.
- 7Check the disclaimer, click Transfer, and confirm.
Managing Reward Types
Reward types are categories used when depositing tokens (e.g. "MVP", "Bonus", "Referral").
- 1Go to the program detail page (click program name on the Programs page).
- 2Scroll to the Reward Types section.
- 3Click Add Reward Type and enter a Type ID (0-255) and Name.
- 4To remove a reward type, click the remove button next to it.
Setting a Transfer Control Limit
This limits how much a Client can transfer to their parent, as a percentage of their total balance.
- 1Go to the program detail page.
- 2Click Set Transfer Limit.
- 3Enter a percentage (0-100). Examples: 0% = no restriction, 50% = a client with 1,000 tokens can transfer at most 500.
- 4Click Set and confirm.
Note: This only applies to Clients. Team Leaders and Program Admins are not restricted.
Managing Members
On the Members page, search for any member by their Member ID and Program ID. As Admin, you can:
Link / Change Wallet -- connect or change a member's wallet address
Set Edit Code -- generate a new claim link for a walletless member
Change Type -- switch between Free, VIP, Elite, PS Partner
Update Member ID -- change the member's ID (Admin only)
Remove Member -- remove a member (must have zero balance and no sub-members)
Updating Program Details and Logo
- 1Go to the program detail page.
- 2Click Edit Program to change the name or description.
- 3Click Set Logo and enter the IPFS CID of the logo image (upload to IPFS first via Pinata, web3.storage, etc.).
- 4The logo will appear in the program header and be embedded in member QR codes.
- 5Click Deactivate to disable a program (prevents new operations).
A Program Admin manages one specific program. You were assigned by the Admin and may have received a claim link to activate your account.
Adding a Team Leader
Team Leaders help manage groups of Clients within your program.
- 1Go to Programs and click your program name.
- 2Click Add Member.
- 3Select Role: Team Leader.
- 4Enter a Wallet Address (or leave empty for walletless), Member ID, and Member Type.
- 5Check the disclaimer, click Add, and confirm.
If walletless, copy the claim link from the dialog and send it to the Team Leader.
Adding a Client
You can add Clients directly -- they will be under you in the hierarchy.
- 1Go to Programs and click your program name.
- 2Click Add Member.
- 3Select Role: Client.
- 4Enter their details (wallet optional, Member ID, Member Type).
- 5Check the disclaimer, click Add, and confirm.
Changing Program Details and Logo
- 1Go to your program detail page.
- 2Click Edit Program to update the name or description.
- 3Click Set Logo and enter an IPFS CID for the program logo.
Managing Reward Sub-Types
Sub-types are subdivisions under each reward type, specific to your program. For example, under reward type "MVP" for a basketball program: "3pShotMade", "Assist", "Block".
- 1Go to your program detail page.
- 2Scroll to the Sub-Types section.
- 3Click Add Sub-Type, select the parent Reward Type, enter a Sub-Type ID and Name.
- 4To remove, click the remove button.
Transferring Tokens to Members
Same process as described in the Admin section above. You can transfer to any member under you in the hierarchy (Team Leaders and Clients you added, and their sub-members).
Acting on Behalf of Walletless Members
If a member does not have a wallet connected, you can perform actions on their behalf:
- 1Go to the Balance page and enter the member's Member ID.
- 2If the member is walletless and you are their PA (or in their parent chain), action buttons will appear.
- 3You can deposit tokens, transfer to their parent, or perform other actions for them.
A Team Leader manages a group of Clients within a program.
Adding Clients
- 1Go to Programs and click your program name.
- 2Click Add Member.
- 3Select Role: Client (this is the only role you can assign).
- 4Enter their details (wallet optional, Member ID, Member Type).
- 5Check the disclaimer, click Add, and confirm.
Send the claim link to walletless clients so they can activate their account later.
Transferring Tokens to Your Clients
- 1Go to the Tokens page and select the Transfer to Sub-Member tab.
- 2Enter the Program ID and recipient (Member ID, wallet, or scan their QR code).
- 3Enter the amount and choose lock settings.
- 4Confirm the transaction.
Depositing, Withdrawing, and Transferring to Parent
Deposit: Go to Tokens > Deposit tab, enter amount and program.
Withdraw: Go to Tokens > Withdraw tab, enter amount and program. Only your available (unlocked) balance can be withdrawn.
Transfer to Parent: Go to Tokens > Transfer to Parent tab. Leave the "To" field empty to send to your direct parent, or enter a specific parent's address.
As a Client, you are a member of one or more programs. You can receive tokens, view your balance, transfer tokens to your parent, and withdraw.
Claiming Your Account (Using a Claim Link)
If someone added you to a program without a wallet, they gave you a claim link. This is how you connect your wallet to your account.
- 1Open the claim link in your browser. It looks like: /balance?member=YOUR_ID&claim=PROGRAM_ID&code=SECRET_CODE
- 2The page will show your member information and a Claim section.
- 3Click Connect Wallet and connect the wallet you want to use.
- 4The Edit Code will be pre-filled from the link.
- 5Click Claim.
- 6Step 1 (Commit): Registers your intent to claim -- confirm in your wallet.
- 7Wait a few seconds (the portal handles this automatically).
- 8Step 2 (Reveal): Completes the claim -- confirm again in your wallet.
- 9Done! Your wallet is now linked. You can use the portal normally.
Viewing Your Balance
- 1Go to the Balance page.
- 2Enter your Member ID.
- 3You will see your balance across all programs you belong to.
Balance types: Available (can withdraw now), Permanently Locked (can only transfer to parent), Time-Locked (becomes available after a waiting period).
You can share your balance link with others -- no wallet connection is needed to view.
Transferring Tokens to Your Parent
- 1Go to Tokens > Transfer to Parent tab (or use the action button on the Balance page).
- 2Enter the Program ID and Amount.
- 3Optionally add a Note.
- 4Click Transfer and confirm.
Deduction order: Available balance first, then expired time-locks, then unexpired time-locks, then permanently locked.
Withdrawing Tokens
- 1Go to Tokens > Withdraw tab (or use the action button on the Balance page).
- 2Enter the Program ID and Amount.
- 3Click Withdraw and confirm.
Only your available balance can be withdrawn. Permanently locked and unexpired time-locked tokens cannot be withdrawn.
Your QR Code
Each member has a QR code displayed on the Balance and Programs pages. This QR contains your Member ID and Program ID. It can be scanned by someone sending you tokens or by a merchant for redemption.
The Redeem page allows store operators to process token redemptions on behalf of members. The member does not need a wallet or even be present -- you just need their QR code.
How Redemption Works
- 1The member shows their QR code -- this is displayed on their Balance page (from their claim link).
- 2Scan the QR code with your phone camera or a QR scanner app. This opens the Redeem page with the member's info pre-filled.
- 3Connect your wallet -- you must have authority in the program (parent, ancestor, Team Leader, or Program Admin).
- 4Verify the member info: the page shows their ID, total balance, and their parent's Member ID.
- 5Enter the redemption amount.
- 6Click "Redeem to [PARENT_ID]" and confirm the transaction in your wallet.
Behind the scenes, this transfers the entered amount from the member's balance to their direct parent. The member does not need to sign anything.
Requirements
Your wallet must be connected and on the Base network.
You must have authority over the member (parent, ancestor, TL, or PA in the same program).
The member must have sufficient balance.
| Action | Admin | PA | TL | Client | Note |
|---|---|---|---|---|---|
| Create program | |||||
| Assign Program Admin | |||||
| Add Team Leader | |||||
| Add Client | |||||
| Update program details | PA: own program only | ||||
| Set program logo | PA: own program only | ||||
| Deactivate program | PA: own program only | ||||
| Manage reward types | |||||
| Manage sub-types | |||||
| Set transfer limit | |||||
| Deposit tokens | |||||
| Transfer to sub-member | |||||
| Transfer to parent | |||||
| Withdraw tokens | |||||
| Change member type | PA: own members | ||||
| Change member wallet | PA: own members | ||||
| Remove member | PA: cannot remove other PAs | ||||
| Update member ID | |||||
| Act for walletless member | TL/PA: same program | ||||
| View balance / reports | No wallet needed |
Members can be added to the system without a wallet. This is useful when:
The person does not have a crypto wallet yet.
You want to set up their account in advance.
The person will claim their account later using a mobile device.
How It Works
- 1When adding a member, leave the wallet address empty.
- 2The system generates a secret Edit Code and a Claim Link.
- 3Send the claim link to the person securely.
- 4They open the link, connect their wallet, and claim the account.
- 5Until they claim, their balance is held at a virtual address and authorized people (parent, TL, PA) can act on their behalf.
Re-issuing a Claim Link
If a claim link is lost, an Admin or the member's parent can generate a new edit code from the Members page (click Set Edit Code). This invalidates the old claim link.
| Term | Meaning |
|---|---|
| FULA | The token used in the rewards system |
| Program | A rewards program that contains members and manages token distribution |
| Program Code | A short identifier for a program (e.g. "SRP") |
| Member ID | A unique identifier for a person within a program (also called Reward ID) |
| Member Type | Classification tier: Free, VIP, Elite, or PS Partner |
| Role | Permission level: Admin, Program Admin, Team Leader, or Client |
| Parent | The person who added you to the program (your supervisor in the hierarchy) |
| Claim Link | A URL used by walletless members to connect their wallet to their account |
| Edit Code | A secret code used in the claim process, embedded in the claim link |
| Available Balance | Tokens that can be withdrawn to your wallet right now |
| Permanently Locked | Tokens that can only be transferred to a parent, never withdrawn |
| Time-Locked | Tokens with a waiting period before they become available |
| Transfer Limit | A per-program percentage cap on how much a Client can transfer to their parent |
| QR Code | A scannable code containing your Member ID, used for transfers and redemption |
| Redeem | The process of a merchant transferring a member's tokens to their parent at a store |
| Base | The blockchain network where the rewards contract is deployed |
Before submitting an on-chain action you will be asked to confirm:
“I understand that the information I enter here is on-chain, publicly visible, and verifiable. I confirm that I am not entering personal or protected information.”
In practice this means:
- Do include: program codes, member codes, reward-type names, note fields describing the action.
- Do not include: legal names, email addresses, phone numbers, government IDs, card numbers, or any other personal data.
- Amounts, timestamps, wallet addresses, and transaction hashes are always visible — they are the record.
Once a transaction is submitted it cannot be edited or deleted. Plan what you type into note fields accordingly.
Tribute · OnChain Royalties