Claiming an escrow
Turn an X or GitHub login into your share, step by step.
A social escrow is a rule that reserves a share of a coin's creator fees for an X or GitHub account by its numeric id. You claim it by proving you control the account; the money then goes to a wallet you choose, now and for every future inflow.
What you need
- Access to the X or GitHub account the escrow names.
- A Solana wallet to receive the share. The wallet that pays the claim transaction can be any wallet; the recipient can be a different address you type in.
- To claim before the deadline shown on the token page. After it, the share falls back to whatever the creator configured (a wallet or another rule).
The flow
- Open the claim link from the token page's escrow row (or
/claim?vault=<vault>&rule=<index>). The page shows the escrow: platform, account id, amount waiting, deadline and the verifier key. - Recipient wallet. Defaults to your connected wallet; you can paste another address.
- Sign in. Continue with X or Continue with GitHub sends you to the provider. Feebric only learns your numeric account id and username; no posting rights are requested.
- If your account id matches the rule, the verifier signs an attestation bound to this vault, this rule, your recipient and a 10-minute expiry, and returns you to the claim page.
- Send the claim. Your wallet sends two instructions in one transaction: the Ed25519 signature check and
claim_social. The bucket is paid to the recipient and the rule becomes a Wallet rule for that recipient.
From then on every settlement pays this rule's share straight to the recipient. No further logins, nothing to do.
Guarantees
- The verifier cannot redirect your escrow. It signs only
FEEVAULT_SOCIAL_V1 ‖ vault ‖ rule ‖ platform ‖ user_id ‖ recipient ‖ expiry, and the program checks every field against the rule and the transaction. A signature for a different recipient, rule or vault is useless. - An attestation expires after ten minutes. If it does, start again; nothing has happened on chain.
- A second claim on the same rule fails (
WrongRuleKind): the rule is already a Wallet rule.
Deadlines and fallbacks
The creator chose a claim window of 7, 14, 30, 90 or 365 days when setting the rule. The share accrues into the escrow's bucket during the whole window. If it is not claimed in time, the keeper (or anyone) calls expire_social: the bucket and all future shares go to the fallback wallet or into the fallback rule. The token page shows the countdown and "Expired · awaiting fallback" once it has passed.
If the rules of an unlocked vault are changed, social escrows get fresh claim windows.
Privacy
The verifier stores issued attestations (vault, rule, platform id, recipient, expiry) for audit. It does not store OAuth tokens beyond the login request.
