For the complete documentation index, see llms.txt. This page is also available as Markdown.

v1.3.0

@May 12, 2026

Substantial cleanup of the public Issue & Transfer / Get SRR endpoints. The endpoint paths and request bodies are unchanged; the responses and webhook payloads are slimmer.

Issue & Transfer SRR — POST /port/api/v1/commerce/srrs

  • Response slimmed. results[*].srr now contains only tokenId, metadataCID, metadataURL and collectionContractAddress.

  • metadataURL added. Convenience HTTPS URL that resolves the SRR metadata via the Startrail IPFS CDN gateway (https://cdn.startrail.io/ipfs/<cid>).

  • Removed from response: srr.collection (object), srr.artist, srr.issuer, srr.isPrimaryIssuer, srr.issuedAt, srr.metadata.json, srr.metadata.originalJson, srr.metadata.digest, srr.createdAt, srr.updatedAt. Get this data from the subgraph and the IPFS CDN gateway after the transaction is mined.

  • Documented the attachment-files behavior. The API resolves each attachmentFiles[*].url to its GCS path, reads the precomputed SHA-256, and folds {category, hash} entries into metadata.digitalComponents (artwork) or metadata.attachmentFiles (other categories) before issuance — callers no longer need to populate those metadata sub-fields themselves.

  • Documented the externalUrls payload field.

Get Owned SRRs — GET /port/api/v1/ownerAddress/{ownerAddress}/ownedSrrs

  • Now returns the subgraph-aggregated SRR shape (AggregatedSRR[]). New fields include id, metadataDigest, transferCommitment, lockExternalTransfer, royaltyReceiver, royaltyBasisPoints, metadataHistory[], history[], provenance[], transfers[]. issuer / artist use walletAddress (not contractAddress) and gain salt, owners, threshold. collection gains id and ownerAddress.

  • The srrOwnable wrapper, status, issuedAt, and the metadata.{digest,json,createdAt,updatedAt,cid} envelope are gone. metadata is now the raw on-chain JSON.

  • Query params: offset is no longer honored. Use page + limit only.

Get SRR by Collection + Token Id — GET /port/api/v1/collection/{collectionContractAddress}/srr/{tokenId}

  • Now returns the subgraph BasicSRR shape (no aggregated metadata JSON, no customHistories, no transfers).

  • Fetch the metadata JSON yourself from https://cdn.startrail.io/ipfs/<metadataDigest>, or query the subgraph for richer relations.

Webhooks

  • data[*].metadata shape change (all SRR-related events): metadata is now the raw SRR metadata JSON, no longer wrapped in { digest, json, createdAt, updatedAt, cid }.

  • transferExecutionComplete no longer includes transferCid. Look up the transfer's provenance entry on the subgraph by srrId if needed.

  • transferReservationComplete payload contains only the generic SRR fields (groupId, srrId, metadata). The legacy dataUrl, encryptedTransferKey and transferCid fields had already been removed in an earlier release; the docs are now updated to reflect that.

  • Startrail IPFS CDN gateway — the recommended gateway for resolving any IPFS CID surfaced by the platform (metadata, images, attachment files).

Last updated

Was this helpful?