Instruction Builders

The SDK provides instruction builder functions that return fully-populated Transaction objects with all required account metas.

Event Instructions

registerEvent

Create a new event.

import { registerEvent } from "@tixprotocol/sdk";

const { tx, event } = await registerEvent({
  connection,
  payer: integratorAuthority.publicKey,
  integratorIdentity: integratorKeypair.publicKey,
  integratorAuthority: integratorAuthority.publicKey,
  eventId: 1001n,
  totalSupply: 5000n,
  royaltyBps: 500,
  minRoyaltyFloor: 100_000n,
  royaltyRecipients: [
    { destination: artistAta, bps: 300 },
    { destination: venueAta, bps: 200 },
  ],
});

tx.sign([integratorAuthority]);
await connection.sendTransaction(tx);

Parameters:

Parameter
Type
Description

eventId

bigint

Unique event identifier

totalSupply

bigint

Maximum ticket count

royaltyBps

number

Royalty percentage (0-10000)

minRoyaltyFloor

bigint

Minimum royalty (USDC minor units)

royaltyRecipients

Array<{destination, bps}>

Up to 3 recipients

Permit Instructions

issuePermits

Issue multiple permits in one transaction.

transferPermit

Transfer permit ownership.

markUsed

Mark a permit as used (redeemed).

markVoid

Mark a permit as void (cancelled).

Listing Instructions

listTicket

List a ticket for sale.

Parameters:

Parameter
Type
Description

askPriceMinor

bigint

Price in USDC minor units

payoutAta

PublicKey

Seller's payout ATA

expiresAt

number

Unix timestamp

buyerAllow

PublicKey | null

Optional: restrict to buyer

acceptOffer

Purchase a listed ticket.

cancelListing

Cancel an active listing.

Integrator Instructions

updateIntegratorAuthority

Update your integrator's signing authority.

Transaction Patterns

Multiple Instructions

Last updated