Instructions

Complete reference for TIX Protocol on-chain instructions available to integrators.

Event Instructions

register_event

Creates a new event with supply and royalty configuration.

Parameters:

Name
Type
Description

event_id

u64

Unique event identifier

total_supply

u64

Maximum ticket count

royalty_bps

u16

Royalty percentage (basis points)

min_royalty_floor

u64

Minimum royalty (minor units)

royalty_recipients

Vec<RoyaltyRecipient>

Up to 3 recipients

Accounts:

Name
Type
Description

integrator

Account<Integrator>

Integrator PDA

event

Account<Event>

PDA: [b"event", event_id]

integrator_authority

Signer

Integrator authority

payer

Signer

Transaction fee payer

system_program

Program

System program

Constraints:

  • Integrator must be Active

  • Recipient BPS must sum to royalty_bps

  • Max 3 royalty recipients


Permit Instructions

issue_permit

Issues a single permit to a buyer.

Parameters:

Name
Type
Description

buyer

Pubkey

Buyer's wallet

ticket_id

u64

Ticket identifier

page_idx

u64

Page index for storage

Accounts:

Name
Type
Description

protocol_config

Account<ProtocolConfig>

Protocol config

integrator

Account<Integrator>

Integrator PDA

integrator_treasury

Account<TokenAccount>

Integrator's USDC ATA

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

protocol_vault

Account<TokenAccount>

Protocol fee vault

integrator_authority

Signer

Integrator authority

payer

Signer

Transaction fee payer

system_program

Program

System program

token_program

Program

SPL Token program

Constraints:

  • Integrator must be Active

  • ticket_id < total_supply

  • page_idx == ticket_id / 128

  • Slot must be empty (not already minted)

  • Treasury must have sufficient USDC


transfer_permit

Transfers permit ownership.

Parameters:

Name
Type
Description

event_id

u64

Event identifier

ticket_id

u64

Ticket identifier

page_idx

u64

Page index

Accounts:

Name
Type
Description

protocol_config

Account<ProtocolConfig>

Protocol config

integrator

Account<Integrator>

Integrator PDA

integrator_treasury

Account<TokenAccount>

Integrator's USDC ATA

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

protocol_vault

Account<TokenAccount>

Protocol fee vault

new_owner

UncheckedAccount

New owner wallet

signer

Signer

Current owner or integrator authority

token_program

Program

SPL Token program

Constraints:

  • Permit must be Active

  • Permit must not be locked (or listing expired)

  • Signer must be owner or integrator authority


mark_used

Marks a permit as redeemed.

Parameters:

Name
Type
Description

ticket_id

u64

Ticket identifier

page_idx

u64

Page index

Accounts:

Name
Type
Description

integrator

Account<Integrator>

Integrator PDA

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

integrator_authority

Signer

Integrator authority

Constraints:

  • Permit must be Active

  • Only integrator authority can call


mark_void

Marks a permit as cancelled/void.

Parameters:

Name
Type
Description

ticket_id

u64

Ticket identifier

page_idx

u64

Page index

Accounts:

Same as mark_used


Listing Instructions

list_ticket

Lists a ticket for sale on the secondary market.

Parameters:

Name
Type
Description

event_id

u64

Event identifier

ticket_id

u64

Ticket identifier

ask_price_minor

u64

Sale price (USDC minor units)

buyer_allow

Option<Pubkey>

Optional buyer restriction

expires_at

i64

Expiration timestamp

Accounts:

Name
Type
Description

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

listing

Account<Listing>

PDA: [b"listing", event_id, ticket_id]

seller

Signer

Current owner

payout_ata

Account<TokenAccount>

Seller's payout ATA

payer

Signer

Transaction fee payer

system_program

Program

System program

Constraints:

  • Permit must be Active

  • Permit must not be locked

  • Seller must be owner


accept_offer

Executes a secondary sale purchase.

Parameters:

Name
Type
Description

event_id

u64

Event identifier

ticket_id

u64

Ticket identifier

buyer_pubkey

Pubkey

Buyer's wallet

Accounts:

Name
Type
Description

protocol_config

Account<ProtocolConfig>

Protocol config

integrator

Account<Integrator>

Integrator PDA

integrator_treasury

Account<TokenAccount>

Integrator's USDC ATA

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

listing

Account<Listing>

Listing PDA

buyer

Signer

Buyer

buyer_usdc_ata

Account<TokenAccount>

Buyer's USDC ATA

seller_payout_ata

Account<TokenAccount>

Seller's payout ATA

protocol_vault

Account<TokenAccount>

Protocol fee vault

token_program

Program

SPL Token program

remaining_accounts

Vec<AccountInfo>

Royalty recipient ATAs

Constraints:

  • Listing must be active

  • Listing must not be expired

  • Permit version must match listing version

  • Buyer must be allowed (if restriction set)

  • Buyer must have sufficient USDC


cancel_listing

Cancels an active listing.

Parameters:

Name
Type
Description

event_id

u64

Event identifier

ticket_id

u64

Ticket identifier

Accounts:

Name
Type
Description

protocol_config

Account<ProtocolConfig>

Protocol config

integrator

Account<Integrator>

Integrator PDA

event

Account<Event>

Event PDA

permit_page

Account<PermitPage>

Permit storage page

listing

Account<Listing>

Listing PDA

authority

Signer

Seller or integrator authority

Constraints:

  • Listing must be active

  • Signer must be seller or integrator authority


Integrator Instructions

update_integrator_authority

Rotates an integrator's signing authority.

Parameters:

Name
Type
Description

integrator_identity

Pubkey

Integrator identifier

new_authority

Pubkey

New authority public key

Accounts:

Name
Type
Description

integrator

Account<Integrator>

Integrator PDA

current_authority

Signer

Current authority

protocol_config

Account<ProtocolConfig>

Protocol config

Constraints:

  • Signer must be current integrator authority

Last updated