repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | { |
| #2 | "skillId": "pump-fee-sharing", |
| #3 | "name": "pump-fee-sharing", |
| #4 | "description": "Configure and distribute creator fees to multiple shareholders using the PumpFees program with BPS-based share allocation, admin management, and cross-program fee consolidation for graduated tokens.", |
| #5 | "category": "pump-protocol", |
| #6 | "path": "pump-fee-sharing/SKILL.md", |
| #7 | "url": "https://x402.wtf/api/skills/pump-fee-sharing", |
| #8 | "tags": [ |
| #9 | "pump", |
| #10 | "solana", |
| #11 | "fee", |
| #12 | "sharing" |
| #13 | ], |
| #14 | "requiredEnv": [ |
| #15 | "SOLANA_RPC_URL" |
| #16 | ], |
| #17 | "homepage": "https://github.com/nirholas/pump-fun-sdk", |
| #18 | "attestation": { |
| #19 | "status": "pending", |
| #20 | "isFormallyVerified": false, |
| #21 | "attestationPda": null, |
| #22 | "verificationTimestamp": null |
| #23 | }, |
| #24 | "markdown": "---\nname: pump-fee-sharing\ndescription: \"Configure and distribute creator fees to multiple shareholders using the PumpFees program with BPS-based share allocation, admin management, and cross-program fee consolidation for graduated tokens.\"\nmetadata:\n openclaw:\n homepage: https://github.com/nirholas/pump-fun-sdk\n requires:\n env:\n - SOLANA_RPC_URL\n---\n\n# Fee Sharing — Multi-Party Creator Fee Distribution\n\nConfigure and manage creator fee sharing — allowing token creators to distribute accumulated trading fees to multiple shareholders using the PumpFees program with BPS-based share allocation.\n\n## Architecture\n\n```\n Token Creator\n │\n ▼\n ┌─────────────────────┐\n │ SharingConfig PDA │\n │ (PumpFees program) │\n │ shareholders: │\n │ [{ addr, bps }] │\n └─────────────────────┘\n │ distribute\n ┌────┴────┬────┬────┐\n │ 40% │ 30%│ 20%│ 10%\n ▼ ▼ ▼ ▼\n User1 User2 User3 User4\n```\n\n## Workflow\n\n### 1. Create Fee Sharing Config\n\n```typescript\nconst ix = PUMP_SDK.createFeeSharingConfig({\n creator, mint, pool, payer,\n shareholders: [\n { address: userA, shareBps: 5000 }, // 50%\n { address: userB, shareBps: 3000 }, // 30%\n { address: userC, shareBps: 2000 }, // 20%\n ]\n});\n```\n\n### 2. Update Shareholders\n\n```typescript\nconst ix = PUMP_SDK.updateFeeShares({\n creator, mint,\n shareholders: [\n { address: userA, shareBps: 4000 },\n { address: userD, shareBps: 3000 },\n { address: userB, shareBps: 3000 },\n ]\n});\n```\n\n### 3. Distribute Fees\n\n```typescript\nconst { instructions, isGraduated } = await onlineSdk.buildDistributeCreatorFeesInstructions(mint);\n// For graduated: transferCreatorFeesToPump + distributeCreatorFees\n// For non-graduated: distributeCreatorFees only\n```\n\n## Validation Rules\n\n| Rule | Error Class |\n|------|------------|\n| At least 1 shareholder | `NoShareholdersError` |\n| Maximum 10 shareholders | `TooManyShareholdersError` |\n| No zero-share entries | `ZeroShareError` |\n| Shares sum to 10,000 BPS | `InvalidShareTotalError` |\n| No duplicate addresses | `DuplicateShareholderError` |\n| Graduated tokens need pool | `PoolRequiredForGraduatedError` |\n\n## Cross-Program Fee Consolidation\n\n```\nTrading fees ──► AMM Creator Vault (PumpAMM)\n │\n transferCreatorFeesToPump\n │\n ▼\n Pump Creator Vault (Pump)\n │\n distributeCreatorFees\n │\n ▼\n Shareholders (proportional)\n```\n\n## Patterns to Follow\n\n- Validate shareholder arrays before sending: max 10, sum = 10,000 BPS, no duplicates, no zero shares\n- Use `BothPrograms` methods when aggregating across Pump + PumpAMM\n- Check `isGraduated` to determine if AMM fee consolidation is needed\n- Check `adminRevoked` before attempting to update shareholders\n\n## Common Pitfalls\n\n- Shares must total exactly 10,000 BPS (100%) — not 100, not 1,000,000\n- Graduated tokens require the `pool` parameter for config creation\n- Two separate creator vaults exist with different PDA seeds (hyphen vs underscore)\n- `updateFeeShares` will fail on-chain if `adminRevoked === true`\n- Basis points use integer arithmetic — fractional bps are not possible\n\n" |
| #25 | } |
| #26 |