Certificate
LaunchProof Demo Token
A snapshot of your fee split, signed and recorded on Solana.
- Certificate hash
- 91f9aed8339865c605f4f89e409062e83630f3c44a591e4fe90bad7416064499
- Bags intent hash
- 61b4341b73c475516c59c346adc264f2ebdaf387414feaa3ce989ab02b55b4d5
Bags launch intent
https://bags.fm/launch?intent=true&name=LaunchProof+Demo+Token&ticker=LPD&admin=AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs&feeShareEnabled=true&feeShareType=multi&feeShare=%5B%7B%22allocationBps%22%3A6000%2C%22platform%22%3A%22solana%22%2C%22username%22%3A%22AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs%22%7D%2C%7B%22allocationBps%22%3A4000%2C%22platform%22%3A%22solana%22%2C%22username%22%3A%22XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt%22%7D%5DLaunchProof only builds the Bags intent URL; Bags remains the launch surface and execution layer.
Certificate JSON
This is the standard JSON document for third-party inspection. Hashing still uses canonical serialization.
{
"id": "cert-1777900212875",
"version": "LaunchProofCertificate/v1",
"launchProofVersion": "0.1.0",
"projectName": "LaunchProof Demo Token",
"tokenDraftId": "draft-1777900212873",
"tokenDraftMetadataHash": "4a85e97b8c52daf2f2fb0eed0dbe652e9ab02acbb411543e80ea366f10707ce0",
"feeRecipients": [
{
"id": "recipient-1",
"draftId": "draft-1777900212873",
"type": "wallet",
"input": "AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs",
"platform": "solana",
"username": "AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs",
"wallet": "AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs",
"claimAuthority": "AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs",
"bps": 6000,
"resolveStatus": "resolved",
"resolveSource": "direct_wallet"
},
{
"id": "recipient-2",
"draftId": "draft-1777900212873",
"type": "wallet",
"input": "XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt",
"platform": "solana",
"username": "XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt",
"wallet": "XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt",
"claimAuthority": "XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt",
"bps": 4000,
"resolveStatus": "resolved",
"resolveSource": "direct_wallet"
}
],
"bpsTotal": 10000,
"bagsLaunchIntentHash": "61b4341b73c475516c59c346adc264f2ebdaf387414feaa3ce989ab02b55b4d5",
"bagsLaunchIntentUrl": "https://bags.fm/launch?intent=true&name=LaunchProof+Demo+Token&ticker=LPD&admin=AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs&feeShareEnabled=true&feeShareType=multi&feeShare=%5B%7B%22allocationBps%22%3A6000%2C%22platform%22%3A%22solana%22%2C%22username%22%3A%22AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs%22%7D%2C%7B%22allocationBps%22%3A4000%2C%22platform%22%3A%22solana%22%2C%22username%22%3A%22XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt%22%7D%5D",
"timestamp": "2026-05-04T13:10:12.875Z",
"signerWallet": "AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs",
"preflight": {
"status": "preflight_passed",
"checks": [
{
"code": "launch_metadata",
"label": "Launch metadata",
"severity": "warning",
"passed": true,
"message": "Token name and ticker satisfy Bags launch intent guidance."
},
{
"code": "creator_wallet",
"label": "Creator wallet",
"severity": "error",
"passed": true,
"message": "Creator wallet is a valid Solana address."
},
{
"code": "invalid_wallet",
"label": "Wallet addresses",
"severity": "error",
"passed": true,
"message": "Wallet recipients are valid Solana addresses."
},
{
"code": "recipient_resolve",
"label": "Bags recipient resolve",
"severity": "error",
"passed": true,
"message": "Every recipient has a resolved wallet."
},
{
"code": "duplicate_recipient",
"label": "Duplicate recipients",
"severity": "error",
"passed": true,
"message": "No duplicate recipient inputs or resolved wallets found."
},
{
"code": "missing_allocation",
"label": "Missing allocation",
"severity": "error",
"passed": true,
"message": "Every recipient has a positive BPS allocation."
},
{
"code": "bps_total",
"label": "BPS total",
"severity": "error",
"passed": true,
"message": "Fee split totals 10000 BPS."
}
]
}
}Fee recipients
| Input | Resolved wallet | BPS | Status |
|---|---|---|---|
| AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs | AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs | 6000 | resolved |
| XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt | XKdU6j2Q7ZVRrteEhUyQURJaE9agpeo1xaz1H8WqUSt | 4000 | resolved |
Solana memo record
The memo keeps the certificate hash on-chain without a custom Solana program.
- Memo
- LaunchProof:v1:91f9aed8339865c605f4f89e409062e83630f3c44a591e4fe90bad7416064499:signer:AHJZHQdMr7qFuxKN4j5gzTHs5jmYWrc5yCh8q86wErKs
- Signature
- 5kgcaBd4DAK8kna5S7RY8iazM9f4K4dFhTto1xve7krbNjJHK1sZFQYLMcUoMtkiXnCrsUeZa9j6NpU6wpsKjgDj
- Status
- Connect a wallet to send the memo.
On-chain certificate verification
LaunchProof recomputes the certificate hash locally, reads the memo transaction from Solana RPC, and compares both hash and signer.
Step 1
Fetch transaction from Solana RPC
pending
Step 2
Parse LaunchProof memo
pending
Step 3
Compare local hash with chain hash
pending
Step 4
Compare memo signer with certificate signer
pending
Local hash
Pending
Chain hash
Pending
Signer match
Pending
Awaiting check
View memo transaction on Solana Explorer