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:
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:
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_bpsMax 3 royalty recipients
Permit Instructions
issue_permit
Issues a single permit to a buyer.
Parameters:
buyer
Pubkey
Buyer's wallet
ticket_id
u64
Ticket identifier
page_idx
u64
Page index for storage
Accounts:
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_supplypage_idx == ticket_id / 128Slot must be empty (not already minted)
Treasury must have sufficient USDC
transfer_permit
Transfers permit ownership.
Parameters:
event_id
u64
Event identifier
ticket_id
u64
Ticket identifier
page_idx
u64
Page index
Accounts:
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:
ticket_id
u64
Ticket identifier
page_idx
u64
Page index
Accounts:
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:
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:
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:
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:
event_id
u64
Event identifier
ticket_id
u64
Ticket identifier
buyer_pubkey
Pubkey
Buyer's wallet
Accounts:
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:
event_id
u64
Event identifier
ticket_id
u64
Ticket identifier
Accounts:
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:
integrator_identity
Pubkey
Integrator identifier
new_authority
Pubkey
New authority public key
Accounts:
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