Developers · Solana integration
Verify eligibility, then bind a Solana partner action
A Solana partner starts an Abraxas policy request, verifies the signed receipt on the server, and receives only allow or deny. This is not a token, wallet, or trading product.
Architecture
holder -> Abraxas hosted /partner/verify
Abraxas -> signed eligibility receipt
partner server -> GET /api/receipts/{id}/public
partner server -> AbraxasPartnerKit.evaluateFetchedReceipt
Solana adapter -> bind claim_access or continue_checkout
browser <- { allowed, reason, action }Receipt verification is AbraxasPartnerKit plus GET /api/receipts/{id}/public. This adapter does not implement a second verifier.
The Solana Partner Adapter never creates a transaction, mints a token, or moves funds. It binds an allow or deny result to a partner action only. It remains an eligibility gate and does not consume the portable action-contract nonce store.
Privacy contract
- Google sign in creates an Abraxas account. It does not prove age, identity, residency, or eligibility.
- Partners receive only the requested policy result: allow or deny plus a safe reason code.
- Identity or liveness is never the default path. A partner policy may request it only when that policy truly requires it.
- Browser responses must not include identity data, raw claims, receipts, signatures, wallet addresses, or user profiles.
Server side verification
import { AbraxasSolanaPartnerAdapter } from "@/lib/partner/solana";
const adapter = new AbraxasSolanaPartnerAdapter({
partnerId: process.env.ABRAXAS_PARTNER_ID!,
policyId: process.env.ABRAXAS_POLICY_ID!,
policyVersion: 1,
requirePolicyVersion: true,
environment: "sandbox",
});
export function startGate(returnUrl: string) {
return adapter.startPolicyVerification(returnUrl);
}
export async function claimAccess(receiptId: string) {
const verified = await adapter.verifySignedReceipt(receiptId);
// Client JSON is allow/deny + reason only. Do not log the receipt.
return adapter.bindPartnerAction(verified, "claim_access");
}
Kit docs: Partner Integration Kit · Reference: Solana claim access example