Tribute

OnChain Royalties

  • My rewards
  • Browse programs
  • Help

Built in Fula, using FxFilesVerified via The Graph · publicv0.1.0

Onboarding Guide

This guide walks you through every action in the Tribute portal, organized by role. No technical knowledge is required.

Connecting Your Wallet
  • 1
    Open the portal in your browser.
  • 2
    Click Connect Wallet in the top-right corner.
  • 3
    Choose your wallet (MetaMask, WalletConnect, etc.).
  • 4
    Approve the connection in your wallet app.
  • 5
    Make sure you are on the Base network -- the portal will prompt you to switch if needed.

Your role (Admin, Program Admin, Team Leader, or Client) is detected automatically and shown next to your wallet address.

Portal Pages at a Glance
PageWhat it does
DashboardOverview of all programs
ProgramsCreate and manage programs and their members
MembersSearch for any member by their ID
TokensDeposit, transfer, and withdraw FULA tokens
Balance LookupLook up any member's balance (no wallet needed)
RedeemMerchant redemption page for scanning member QR codes
ReportsTransaction history and statistics

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
  • 1
    Go to the Programs page.
  • 2
    Click Create Program.
  • 3
    Enter a Program Code (short code up to 8 characters, e.g. "SRP"). This cannot be changed later.
  • 4
    Enter a Program Name and Description.
  • 5
    Check the on-chain data disclaimer checkbox.
  • 6
    Click 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.

  • 1
    Go to Programs and click on the program name to open its detail view.
  • 2
    Click Add Program Admin.
  • 3
    Enter the Wallet Address (leave empty if they don't have a wallet yet).
  • 4
    Enter a Member ID -- a unique identifier within this program (e.g. "PA-JOHN").
  • 5
    Select a Member Type (Free, VIP, Elite, or PS Partner).
  • 6
    Check 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.

  • 1
    Go to the Tokens page and select the Deposit tab.
  • 2
    Enter the Program ID, Amount of FULA tokens to deposit.
  • 3
    Optionally select a Reward Type and add a Note (up to 128 characters).
  • 4
    The portal will first ask you to Approve the token transfer (this gives the contract permission to move your FULA tokens).
  • 5
    Then click Deposit and confirm the transaction.
Transferring Tokens to a Sub-Member

After depositing, you can distribute tokens to any member in any program.

  • 1
    Go to the Tokens page and select the Transfer to Sub-Member tab.
  • 2
    Enter the Program ID.
  • 3
    Enter the Recipient -- type their Member ID, wallet address, or click the QR scanner icon to scan their QR code.
  • 4
    Enter the Amount.
  • 5
    Choose a lock type: Unlocked (withdraw immediately), Time-Locked (wait N days), or Permanently Locked (can only transfer back to parent, never withdraw).
  • 6
    Optionally select Reward Type, Sub-Type, and add a Note.
  • 7
    Check the disclaimer, click Transfer, and confirm.
Managing Reward Types

Reward types are categories used when depositing tokens (e.g. "MVP", "Bonus", "Referral").

  • 1
    Go to the program detail page (click program name on the Programs page).
  • 2
    Scroll to the Reward Types section.
  • 3
    Click Add Reward Type and enter a Type ID (0-255) and Name.
  • 4
    To 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.

  • 1
    Go to the program detail page.
  • 2
    Click Set Transfer Limit.
  • 3
    Enter a percentage (0-100). Examples: 0% = no restriction, 50% = a client with 1,000 tokens can transfer at most 500.
  • 4
    Click 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
  • 1
    Go to the program detail page.
  • 2
    Click Edit Program to change the name or description.
  • 3
    Click Set Logo and enter the IPFS CID of the logo image (upload to IPFS first via Pinata, web3.storage, etc.).
  • 4
    The logo will appear in the program header and be embedded in member QR codes.
  • 5
    Click 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.

  • 1
    Go to Programs and click your program name.
  • 2
    Click Add Member.
  • 3
    Select Role: Team Leader.
  • 4
    Enter a Wallet Address (or leave empty for walletless), Member ID, and Member Type.
  • 5
    Check 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.

  • 1
    Go to Programs and click your program name.
  • 2
    Click Add Member.
  • 3
    Select Role: Client.
  • 4
    Enter their details (wallet optional, Member ID, Member Type).
  • 5
    Check the disclaimer, click Add, and confirm.
Changing Program Details and Logo
  • 1
    Go to your program detail page.
  • 2
    Click Edit Program to update the name or description.
  • 3
    Click 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".

  • 1
    Go to your program detail page.
  • 2
    Scroll to the Sub-Types section.
  • 3
    Click Add Sub-Type, select the parent Reward Type, enter a Sub-Type ID and Name.
  • 4
    To 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:

  • 1
    Go to the Balance page and enter the member's Member ID.
  • 2
    If the member is walletless and you are their PA (or in their parent chain), action buttons will appear.
  • 3
    You 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
  • 1
    Go to Programs and click your program name.
  • 2
    Click Add Member.
  • 3
    Select Role: Client (this is the only role you can assign).
  • 4
    Enter their details (wallet optional, Member ID, Member Type).
  • 5
    Check 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
  • 1
    Go to the Tokens page and select the Transfer to Sub-Member tab.
  • 2
    Enter the Program ID and recipient (Member ID, wallet, or scan their QR code).
  • 3
    Enter the amount and choose lock settings.
  • 4
    Confirm 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.

  • 1
    Open the claim link in your browser. It looks like: /balance?member=YOUR_ID&claim=PROGRAM_ID&code=SECRET_CODE
  • 2
    The page will show your member information and a Claim section.
  • 3
    Click Connect Wallet and connect the wallet you want to use.
  • 4
    The Edit Code will be pre-filled from the link.
  • 5
    Click Claim.
  • 6
    Step 1 (Commit): Registers your intent to claim -- confirm in your wallet.
  • 7
    Wait a few seconds (the portal handles this automatically).
  • 8
    Step 2 (Reveal): Completes the claim -- confirm again in your wallet.
  • 9
    Done! Your wallet is now linked. You can use the portal normally.
Viewing Your Balance
  • 1
    Go to the Balance page.
  • 2
    Enter your Member ID.
  • 3
    You 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
  • 1
    Go to Tokens > Transfer to Parent tab (or use the action button on the Balance page).
  • 2
    Enter the Program ID and Amount.
  • 3
    Optionally add a Note.
  • 4
    Click Transfer and confirm.

Deduction order: Available balance first, then expired time-locks, then unexpired time-locks, then permanently locked.

Withdrawing Tokens
  • 1
    Go to Tokens > Withdraw tab (or use the action button on the Balance page).
  • 2
    Enter the Program ID and Amount.
  • 3
    Click 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
  • 1
    The member shows their QR code -- this is displayed on their Balance page (from their claim link).
  • 2
    Scan the QR code with your phone camera or a QR scanner app. This opens the Redeem page with the member's info pre-filled.
  • 3
    Connect your wallet -- you must have authority in the program (parent, ancestor, Team Leader, or Program Admin).
  • 4
    Verify the member info: the page shows their ID, total balance, and their parent's Member ID.
  • 5
    Enter the redemption amount.
  • 6
    Click "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.

ActionAdminPATLClientNote
Create program
Assign Program Admin
Add Team Leader
Add Client
Update program detailsPA: own program only
Set program logoPA: own program only
Deactivate programPA: 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 typePA: own members
Change member walletPA: own members
Remove memberPA: cannot remove other PAs
Update member ID
Act for walletless memberTL/PA: same program
View balance / reportsNo 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
  • 1
    When adding a member, leave the wallet address empty.
  • 2
    The system generates a secret Edit Code and a Claim Link.
  • 3
    Send the claim link to the person securely.
  • 4
    They open the link, connect their wallet, and claim the account.
  • 5
    Until 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.

TermMeaning
FULAThe token used in the rewards system
ProgramA rewards program that contains members and manages token distribution
Program CodeA short identifier for a program (e.g. "SRP")
Member IDA unique identifier for a person within a program (also called Reward ID)
Member TypeClassification tier: Free, VIP, Elite, or PS Partner
RolePermission level: Admin, Program Admin, Team Leader, or Client
ParentThe person who added you to the program (your supervisor in the hierarchy)
Claim LinkA URL used by walletless members to connect their wallet to their account
Edit CodeA secret code used in the claim process, embedded in the claim link
Available BalanceTokens that can be withdrawn to your wallet right now
Permanently LockedTokens that can only be transferred to a parent, never withdrawn
Time-LockedTokens with a waiting period before they become available
Transfer LimitA per-program percentage cap on how much a Client can transfer to their parent
QR CodeA scannable code containing your Member ID, used for transfers and redemption
RedeemThe process of a merchant transferring a member's tokens to their parent at a store
BaseThe 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
Transactions and records are public and permanently on-chain. Do not enter personal data.
Verified on-chain