Overview
Receives a user-signed claim transaction from/claims/mint, adds the protocol’s mint authority signature, and submits the complete transaction to the Solana blockchain to finalize the token claim.
Request Parameters
string
required
Base58 encoded transaction signed by the user’s wallet
string
required
Unique transaction identifier returned from
/claims/mintResponse
boolean
Indicates if the operation was successful
string
The Solana transaction signature/hash
string
The token address that was claimed from
string
The amount of tokens that were successfully claimed
array
Array of recipients who received tokens from this claim, each containing:
wallet(string): The recipient’s wallet addressamount(string): The amount allocated to this recipientlabel(string, optional): Description of the recipient (e.g., “Developer”)
object
Blockchain confirmation details
Success Response
Error Responses
400 - Missing Parameters
400 - Missing Parameters
400 - Transaction Data Not Found
400 - Transaction Data Not Found
- Invalid or expired
transactionKey - Temporary storage was cleared
- Transaction was already processed
400 - Eligibility Changed
400 - Eligibility Changed
400 - No Tokens Available
400 - No Tokens Available
500 - Configuration Error
500 - Configuration Error
500 - Transaction Failed
500 - Transaction Failed
- Network congestion
- Insufficient funds for transaction fees
- Invalid transaction signature
- Blockchain errors
Process Flow
This endpoint completes the two-phase claim process:1
Validate Parameters
Ensures both required fields are provided
2
Retrieve Transaction Data
Fetches stored transaction details using the
transactionKey3
Re-validate Eligibility
Performs a security check to ensure claim eligibility hasn’t changed
4
Deserialize Transaction
Converts the Base58 signed transaction back to a Solana Transaction object
5
Add Protocol Signature
Signs the transaction with the protocol’s keypair (mint authority)
6
Submit to Blockchain
Sends the fully signed transaction to the Solana network
7
Wait for Confirmation
Monitors the transaction until it’s confirmed on-chain
8
Cleanup
Removes the temporary transaction data
Security Re-validation
This prevents users from claiming more than they’re entitled to, even if they hold onto signed transactions.Rate Limiting
This endpoint is subject to rate limiting:- 8 requests per IP per 2-minute window
- Returns HTTP 429 when limit exceeded
Transaction Lifecycle
The claim transaction follows this lifecycle:- Creation:
/claims/mintcreates unsigned transaction - Storage: Transaction data stored temporarily (10min max)
- Signing: User signs transaction with their wallet
- Confirmation: This endpoint adds protocol signature and submits
- Cleanup: Transaction data removed
- Finality: Tokens are permanently transferred to user
Transaction Data Cleanup
Cleanup Policy:
- Successful transactions: Immediately cleaned up
- Failed transactions: Remain until expiration
- Expired transactions: Automatically removed after 10 minutes
After Successful Claim
Once tokens are successfully claimed:- Verify Balance: Check user’s token account balance
- Update UI: Refresh claim eligibility for next period
- Transaction Proof: Use
transactionSignaturefor verification
Transaction Signature
The returnedtransactionSignature can be used to:
- View the transaction on Solana explorers
- Verify the token claim on-chain
- Provide proof of claim to users
- Track transaction status
Integration Notes
Multi-instance Deployments: If running multiple API instances, consider using Redis or similar for shared transaction state instead of in-memory storage.
