Register an Affiliate
An affiliate is your frontend’s on-chain identity — the address that rides on every quote your users open and collects a share of the trading fees. Registering it lets your affiliate collect a share of the trading fees. Before you can set affiliatesAddress in your config and start trading, that affiliate has to exist on-chain and be approved by SYMMIO. This guide covers registering through the SYMMIO affiliate form: filling it in, submitting the request from your wallet, getting approved, then wiring the address into your config.
Registering is a request, not an instant switch-on. Submitting the transaction creates a PENDING affiliate. A
SYMMIO approver then moves it from PENDING to ACTIVE — only an ACTIVE affiliate can attribute trades and collect
fees. Plan for a review step between submitting and going live — don’t ship expecting registration alone to unlock
trading.
The lifecycle
An affiliate moves through four states, surfaced on the register page’s Check status tab and readable on-chain:
AffiliateState | Value | Meaning |
|---|---|---|
NONE | 0 | No registration exists for this address. |
PENDING | 1 | Request submitted, awaiting SYMMIO approval. |
ACTIVE | 2 | Approved — can attribute trades and collect fees. |
PAUSED | 3 | Paused by a SYMMIO approver; attribution is halted. |
The happy path:
- Fill the form — your deterministic affiliate address resolves live from your wallet and chosen name.
- Submit the request from your wallet → the affiliate is created as
PENDING. - SYMMIO reviews — approves the affiliate on-chain, moving it from
PENDINGtoACTIVE. - Track the status until it flips to
ACTIVE(the form’s Check status tab). - Wire the address into your SDK config and start trading.
The affiliate address is not your wallet. It’s a new, deterministic AccountManager contract derived from your
wallet address and the affiliate name (CREATE2). The same (wallet, name) always maps to the same affiliate address
— so the form shows it before you even submit.
Register on the hosted page
Register through the SYMMIO affiliate page:
→ https://trading-sdk.symm.io/affiliate
It runs the whole flow from the browser:
- Connect a wallet (HyperEVM), pick an affiliate name, and watch your deterministic address resolve live as you type.
- Set the admin address, split fees across stakeholders and the protocol (the meter must total 100%), and optionally add metadata, legacy accounts, or extra cores.
- Submit the on-chain request, then track approval on the Check status tab — where a still-
PENDINGregistration can also be cancelled.
It also collects one optional off-chain detail the on-chain transaction never carries: an email, shared privately with the SYMMIO team, so they can notify you once your affiliate is approved.
Save the affiliate address the form shows you after submitting. The Check status tab looks a registration up by
address, so it’s how you track approval — and cancel a still-PENDING request — later.
After approval — wire it into your config
Once the state is ACTIVE, swap the zero address you shipped with for your registered affiliate as affiliatesAddress on every supported chain. The field is required per chain — the SDK throws AFFILIATE_ADDRESS_REQUIRED only when it is missing entirely; the zero address stays a valid fee-less default — and only a registered affiliate earns a fee share.
[SymmioSupportedChainId.HYPER_EVM]: {
addresses: { affiliatesAddress: "0xYourRegisteredAffiliate…" },
},From here every quote your frontend opens is attributed to your affiliate. See Addresses and Config for where this plugs in, and SymmioProvider for the React wiring.
Related
- Addresses — where
affiliatesAddresslives in the config. - Config — the per-chain affiliate requirement in full.
SymmioProvider— mounting the React layer.- Build a Perps DEX — the end-to-end frontend this affiliate powers.