f5af11b44e plus 5 uncommitted files — the badged_row/banner heading names, the amount/list/quote/live hero union, and stats.data/orientation. That schema is not pushed yet, so this report is ahead of the PR head.| Case | Request | exp / actual | Verdict | ms | heading.type | heading.title | hero.type | hero.title | blocks | region | stats.orientation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Existing perp, 10x long, series | POST /share | 201 / 201 | PASS | 132ms | row | BTC | amount | +$1,625.25 | chart + stats | body | vertical |
| Existing spot, series + market caps | POST /share | 201 / 201 | PASS | 219ms | row | SOL | amount | +$120,350.00 | chart + stats | body | vertical |
| New spot, no series snapshotted | POST /share | 201 / 201 | PASS | 9ms | row | SOL | amount | $255,275.00 | stats | body | vertical |
| Closed perp position | POST /share | 201 / 201 | PASS | 12ms | row | BTC | amount | -$1,050.00 | stats | body | vertical |
| Profile share | POST /share | 201 / 201 | PASS | 7ms | badged_row | @moonshot_mike | absent | absent | identity | body | absent |
| Chat share | POST /share | 201 / 201 | PASS | 6ms | row | Group chat | live | Join the conversation | stats | body | horizontal |
| Prediction, 2 labelled series | POST /share | 201 / 201 | PASS | 146ms | absent | absent | amount | $7,500.00 | stats | body | vertical |
| Prediction, single outcome | POST /share | 201 / 201 | PASS | 15ms | row | KXATP-26USO-ALC | amount | +$240.00 | stats | body | vertical |
| Emoji name + symbol, clamped | POST /share | 201 / 201 | PASS | 7ms | row | 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 | amount | $255,275.00 | stats | body | vertical |
| HTML-ish token name | POST /share | 201 / 201 | PASS | 6ms | row | SOL | amount | $255,275.00 | stats | body | vertical |
| Name 1 char past max (129) | POST /share | 400 / 400 | PASS | 2ms | — | — | — | — | — | — | — |
| Unknown extra payload field Corrected: the payload schema strips unknown keys rather than rejecting them — the stored payload in the 201 body has no `totallyUnknownField`. |
POST /share | 400 / 201 | PASS | 6ms | row | SOL | amount | $255,275.00 | stats | body | vertical |
| Unknown market enum | POST /share | 400 / 400 | PASS | 2ms | — | — | — | — | — | — | — |
| No auth header | POST /share | 401 / 401 | PASS | 1ms | — | — | — | — | — | — | — |
| Duplicate create, same body | POST /share | 201 / 201 | PASS | 5ms | row | Group chat | live | Join the conversation | stats | body | horizontal |
| GET read-back PuTdBS1y0F | GET /share/PuTdBS1y0F | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back 5FxZWAVCOg | GET /share/5FxZWAVCOg | 200 / 200 | PASS | 7ms | — | — | — | — | — | — | — |
| GET read-back ZlXex2pxCV | GET /share/ZlXex2pxCV | 200 / 200 | PASS | 6ms | — | — | — | — | — | — | — |
| GET read-back eV0pafcNm0 | GET /share/eV0pafcNm0 | 200 / 200 | PASS | 6ms | — | — | — | — | — | — | — |
| GET read-back eNC4kp3tG2 | GET /share/eNC4kp3tG2 | 200 / 200 | PASS | 7ms | — | — | — | — | — | — | — |
| GET read-back BDeCJ3Ua2M | GET /share/BDeCJ3Ua2M | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back grF2BR9hZu | GET /share/grF2BR9hZu | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back BUJpKPEGns | GET /share/BUJpKPEGns | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back bVAZhoppeq | GET /share/bVAZhoppeq | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back Bsdcz2XuEn | GET /share/Bsdcz2XuEn | 200 / 200 | PASS | 5ms | — | — | — | — | — | — | — |
| GET read-back U2Hms4bf0R | GET /share/U2Hms4bf0R | 200 / 200 | PASS | 6ms | — | — | — | — | — | — | — |
| GET read-back SmJorbmRBl | GET /share/SmJorbmRBl | 200 / 200 | PASS | 4ms | — | — | — | — | — | — | — |
| GET unknown shareId | GET /share/ZZZZZZZZZZ | 404 / 404 | PASS | 5ms | — | — | — | — | — | — | — |
| GET malformed shareId Corrected: there is no separate param-shape validation, so an id that cannot exist reads as 404 Share not found. |
GET /share/short | 400 / 404 | PASS | 3ms | — | — | — | — | — | — | — |
| Prediction on client 26.27.3 | POST /share | 201 / 201 | PASS | 6ms | — | — | — | — | — | — | — |
| Prediction on client 26.28.0 | POST /share | 201 / 201 | PASS | 7ms | — | — | — | — | — | — | — |
| PATCH unresolvable backdrop handle No media-provider credentials locally, so `ShareBackdropResolver.resolution()` returns `indeterminate` and the patch is accepted. The reject path needs a configured provider. |
PATCH /share/PuTdBS1y0F | 400 / 200 | SKIPPED | 10ms | — | — | — | — | — | — | — |
| PATCH as a different user The local auth layer only accepts the canonical dev user id — any other `x-forwarded-user` is 401 before the route runs, so ownership cannot be exercised here. |
PATCH /share/PuTdBS1y0F | 404 / 401 | SKIPPED | 2ms | — | — | — | — | — | — | — |
The seven right-hand columns are read back from GET /share/:shareId on the record each create minted — never echoed from the create response. absent means the field is not served; — means the case minted no record.
Assertion: heading `row` + badges, hero `amount` with amountUsd, chart block, stats vertical
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "existing_position",
"market": "perp",
"caip19": "hypercore:mainnet/perp:BTC",
"name": "Bitcoin",
"symbol": "BTC",
"side": "long",
"leverage": "10",
"size": "0.5",
"entryPriceUsd": "64200.00",
"priceSeries": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"performance": {
"currentPriceUsd": "67450.50",
"pnlUsd": "1625.25",
"pnlPct": "5.06"
}
}
}
{
"shareId": "PuTdBS1y0F",
"v": 2,
"payload": {
"market": "perp",
"caip19": "hypercore:mainnet/perp:BTC",
"name": "Bitcoin",
"symbol": "BTC",
"side": "long",
"leverage": "10",
"size": "0.5",
"entryPriceUsd": "64200.00",
"priceSeries": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"kind": "existing_position",
"performance": {
"currentPriceUsd": "67450.50",
"pnlUsd": "1625.25",
"pnlPct": "5.06"
}
},
"deepLinkPath": "v1/perps/btc-usd",
"createdAt": "2026-08-24T19:41:56.322Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "10x Long",
"colorHex": "#45E863"
},
"icon": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B"
},
"headline": {
"value": "+$1,625.25",
"amountUsd": "1625.25",
"changePct": "+5.06%",
"tone": "positive"
},
"byline": {
"value": "$33,725.25"
},
"stats": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"sparklines": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"color": "#45E863"
}
],
"heading": {
"type": "title_subtitle",
"title": "BTC",
"subtitle": "Bitcoin"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.322Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B",
"shape": "circle"
},
"title": "BTC",
"subtitle": "Bitcoin",
"badges": [
{
"text": "10x Long",
"colorHex": "#45E863"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$33,725.25",
"title": "+$1,625.25",
"side": "+5.06%",
"amountUsd": "1625.25",
"tone": "positive",
"region": "overlay"
},
"blocks": [
{
"type": "chart",
"series": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"colorHex": "#45E863",
"endpointMarker": true
}
]
},
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "overlay"
}
],
"footer": {
"date": "2026-08-24T19:41:56.322Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/PuTdBS1y0F"
}
Assertion: heading `row`, chart block present, hero `amount`
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "existing_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"name": "Solana",
"symbol": "SOL",
"amount": "2500",
"entryPriceUsd": "102.11",
"priceSeries": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"performance": {
"currentPriceUsd": "150.25",
"pnlUsd": "120350.00",
"pnlPct": "47.14"
}
}
}
{
"shareId": "5FxZWAVCOg",
"v": 2,
"payload": {
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"name": "Solana",
"symbol": "SOL",
"amount": "2500",
"entryPriceUsd": "102.11",
"priceSeries": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"kind": "existing_position",
"performance": {
"currentPriceUsd": "150.25",
"pnlUsd": "120350.00",
"pnlPct": "47.14"
}
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.440Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "+$120,350.00",
"amountUsd": "120350.00",
"changePct": "+47.14%",
"tone": "positive"
},
"byline": {
"value": "$375,625.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$150.25",
"amountUsd": "150.25"
}
],
"sparklines": [
{
"data": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"color": "#45E863"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "Solana"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.440Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "Solana"
},
"hero": {
"type": "amount",
"eyebrow": "$375,625.00",
"title": "+$120,350.00",
"side": "+47.14%",
"amountUsd": "120350.00",
"tone": "positive",
"region": "overlay"
},
"blocks": [
{
"type": "chart",
"series": [
{
"data": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"colorHex": "#45E863",
"endpointMarker": true
}
]
},
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$150.25",
"amountUsd": "150.25"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "overlay"
}
],
"footer": {
"date": "2026-08-24T19:41:56.440Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/5FxZWAVCOg"
}
Assertion: no chart block, blocks in region body
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11"
}
}
{
"shareId": "ZlXex2pxCV",
"v": 2,
"payload": {
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"kind": "new_position"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.553Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "$102.11"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.553Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "$102.11"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.553Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/ZlXex2pxCV"
}
Assertion: heading `row`, hero `amount` negative tone
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "closed_position",
"market": "perp",
"caip19": "hypercore:mainnet/perp:BTC",
"side": "short",
"leverage": "5",
"size": "0.25",
"entryPriceUsd": "64200.00",
"closedAt": "2026-08-20T10:00:00.000Z",
"performance": {
"currentPriceUsd": "60000.00",
"pnlUsd": "-1050.00",
"pnlPct": "-6.54"
}
}
}
{
"shareId": "eV0pafcNm0",
"v": 2,
"payload": {
"market": "perp",
"caip19": "hypercore:mainnet/perp:BTC",
"side": "short",
"leverage": "5",
"size": "0.25",
"entryPriceUsd": "64200.00",
"kind": "closed_position",
"closedAt": "2026-08-20T10:00:00.000Z",
"performance": {
"currentPriceUsd": "60000.00",
"pnlUsd": "-1050.00",
"pnlPct": "-6.54"
}
},
"deepLinkPath": "v1/perps/btc-usd",
"createdAt": "2026-08-24T19:41:56.563Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "5x Short",
"colorHex": "#FF0037"
},
"icon": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B"
},
"headline": {
"value": "-$1,050.00",
"amountUsd": "-1050.00",
"changePct": "-6.54%",
"tone": "negative"
},
"byline": {
"value": "$15,000.00"
},
"stats": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Exit",
"value": "$60,000.00",
"amountUsd": "60000.00"
}
],
"heading": {
"type": "title_subtitle",
"title": "BTC",
"subtitle": "$60,000.00"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.563Z",
"dateLabel": "Closed on Aug 20, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "negative",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B",
"shape": "circle"
},
"title": "BTC",
"subtitle": "$60,000.00",
"badges": [
{
"text": "5x Short",
"colorHex": "#FF0037"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$15,000.00",
"title": "-$1,050.00",
"side": "-6.54%",
"amountUsd": "-1050.00",
"tone": "negative",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Exit",
"value": "$60,000.00",
"amountUsd": "60000.00"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.563Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/eV0pafcNm0"
}
Assertion: heading `badged_row` with trailing.attribution + brandLogo
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "profile",
"username": "moonshot_mike"
}
}
{
"shareId": "eNC4kp3tG2",
"v": 2,
"payload": {
"kind": "profile",
"username": "moonshot_mike"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.574Z",
"sharer": {},
"display": {
"headerTitle": "Share Profile",
"icon": {
"fallbackText": "M"
},
"headline": {
"value": "@moonshot_mike",
"tone": "neutral"
},
"heading": {
"type": "title_subtitle",
"title": "@moonshot_mike"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.574Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Profile",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "badged_row",
"image": {
"fallbackText": "M",
"shape": "circle"
},
"title": "@moonshot_mike",
"trailing": {
"attribution": {
"text": "Follow on",
"brandLogo": true
}
}
},
"blocks": [
{
"type": "identity",
"title": "Share Profile",
"layout": "row"
}
],
"footer": {
"date": "2026-08-24T19:41:56.574Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/eNC4kp3tG2"
}
Assertion: heading `row`, hero `live` carrying the invite
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "chat",
"chatId": "hub:world-cup-2026"
}
}
{
"shareId": "BDeCJ3Ua2M",
"v": 2,
"payload": {
"kind": "chat",
"chatId": "hub:world-cup-2026"
},
"deepLinkPath": "v1/chat/world-cup-2026?chatType=hub",
"createdAt": "2026-08-24T19:41:56.582Z",
"sharer": {},
"display": {
"headerTitle": "Share Chat",
"icon": {
"fallbackText": "G"
},
"headline": {
"value": "Join the conversation",
"tone": "neutral"
},
"stats": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"heading": {
"type": "title_subtitle",
"title": "Group chat"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.582Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Chat",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "G",
"shape": "circle"
},
"title": "Group chat"
},
"hero": {
"type": "live",
"title": "Join the conversation",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"orientation": "horizontal",
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.582Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/BDeCJ3Ua2M"
}
Assertion: heading absent or `banner`; outcome rows not served
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
]
}
}
{
"shareId": "grF2BR9hZu",
"v": 2,
"payload": {
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
],
"kind": "new_position"
},
"deepLinkPath": "predictions/event/KXWC-26-MEX",
"createdAt": "2026-08-24T19:41:56.724Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Mexico"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral"
},
"byline": {
"value": "$7,500.00"
},
"stats": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"heading": {
"type": "multi_series",
"series": [
{
"text": "World Cup on Phantom"
}
]
},
"userVerified": false,
"date": "2026-08-24T19:41:56.724Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"hero": {
"type": "amount",
"eyebrow": "$7,500.00",
"title": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.724Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/grF2BR9hZu"
}
Assertion: heading `row`, hero `amount`
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "existing_position",
"market": "prediction",
"ticker": "KXATP-26USO-ALC",
"outcome": "Alcaraz",
"chanceMultiplier": "2.63",
"valueUsd": "380.00",
"performance": {
"pnlUsd": "240.00",
"pnlPct": "63.15"
}
}
}
{
"shareId": "BUJpKPEGns",
"v": 2,
"payload": {
"market": "prediction",
"ticker": "KXATP-26USO-ALC",
"outcome": "Alcaraz",
"chanceMultiplier": "2.63",
"valueUsd": "380.00",
"kind": "existing_position",
"performance": {
"pnlUsd": "240.00",
"pnlPct": "63.15"
}
},
"deepLinkPath": "predictions/event/KXATP-26USO-ALC",
"createdAt": "2026-08-24T19:41:56.735Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Alcaraz"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "+$240.00",
"amountUsd": "240.00",
"changePct": "+63.15%",
"tone": "positive"
},
"byline": {
"value": "$380.00"
},
"stats": [
{
"label": "Outcome",
"value": "Alcaraz"
},
{
"label": "Chance",
"value": "38.02%"
}
],
"heading": {
"type": "title_subtitle",
"title": "KXATP-26USO-ALC",
"subtitle": "Alcaraz"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.735Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "K",
"shape": "circle"
},
"title": "KXATP-26USO-ALC",
"subtitle": "Alcaraz",
"badges": [
{
"text": "Alcaraz"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$380.00",
"title": "+$240.00",
"side": "+63.15%",
"amountUsd": "240.00",
"tone": "positive",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Outcome",
"value": "Alcaraz"
},
{
"label": "Chance",
"value": "38.02%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.735Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/BUJpKPEGns"
}
Assertion: monogram clamped, no split surrogate
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"name": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"symbol": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
}
}
{
"shareId": "bVAZhoppeq",
"v": 2,
"payload": {
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"name": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"symbol": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"amount": "2500",
"entryPriceUsd": "102.11",
"kind": "new_position"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.751Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "\ud83d\ude80"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"subtitle": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.751Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "\ud83d\ude80",
"shape": "circle"
},
"title": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"subtitle": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.751Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/bVAZhoppeq"
}
Assertion: served verbatim, not escaped or stripped
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"name": "<script>alert('x')</script>",
"symbol": "SOL"
}
}
{
"shareId": "Bsdcz2XuEn",
"v": 2,
"payload": {
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"name": "<script>alert('x')</script>",
"symbol": "SOL",
"amount": "2500",
"entryPriceUsd": "102.11",
"kind": "new_position"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.758Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "<script>alert('x')</script>"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.758Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "<script>alert('x')</script>"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.758Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/Bsdcz2XuEn"
}
Assertion: rejected at the payload boundary
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"name": "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN"
}
}
{
"message": "[\n {\n \"origin\": \"string\",\n \"code\": \"too_big\",\n \"maximum\": 128,\n \"inclusive\": true,\n \"path\": [\n \"payload\",\n \"name\"\n ],\n \"message\": \"Too big: expected string to have <=128 characters\"\n }\n]",
"statusCode": 400
}
Assertion: unknown key rejected
Corrected: the payload schema strips unknown keys rather than rejecting them — the stored payload in the 201 body has no `totallyUnknownField`.
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"totallyUnknownField": "nope"
}
}
{
"shareId": "U2Hms4bf0R",
"v": 2,
"payload": {
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11",
"kind": "new_position"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.767Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "$102.11"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.767Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "$102.11"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.767Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/U2Hms4bf0R"
}
Assertion: unknown discriminator rejected
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "new_position",
"market": "futures",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11"
}
}
{
"message": "[\n {\n \"code\": \"invalid_union\",\n \"errors\": [],\n \"note\": \"No matching discriminator\",\n \"discriminator\": \"market\",\n \"options\": [\n \"spot\",\n \"perp\",\n \"prediction\"\n ],\n \"path\": [\n \"payload\",\n \"market\"\n ],\n \"message\": \"Invalid discriminator value. Expected 'spot' | 'perp' | 'prediction'\"\n }\n]",
"statusCode": 400
}
Assertion: rejected before any record is written
POST http://localhost:3000/share
{
"content-type": "application/json"
}
{
"payload": {
"kind": "new_position",
"market": "spot",
"caip19": "solana:101/nativeToken:501",
"amount": "2500",
"entryPriceUsd": "102.11"
}
}
{
"message": "Unauthorized",
"statusCode": 401
}
Assertion: second create mints a distinct shareId
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"payload": {
"kind": "chat",
"chatId": "hub:world-cup-2026"
}
}
{
"shareId": "SmJorbmRBl",
"v": 2,
"payload": {
"kind": "chat",
"chatId": "hub:world-cup-2026"
},
"deepLinkPath": "v1/chat/world-cup-2026?chatType=hub",
"createdAt": "2026-08-24T19:41:56.777Z",
"sharer": {},
"display": {
"headerTitle": "Share Chat",
"icon": {
"fallbackText": "G"
},
"headline": {
"value": "Join the conversation",
"tone": "neutral"
},
"stats": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"heading": {
"type": "title_subtitle",
"title": "Group chat"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.777Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Chat",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "G",
"shape": "circle"
},
"title": "Group chat"
},
"hero": {
"type": "live",
"title": "Join the conversation",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"orientation": "horizontal",
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.777Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/SmJorbmRBl"
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/PuTdBS1y0F
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "PuTdBS1y0F",
"v": 2,
"payload": {
"caip19": "hypercore:mainnet/perp:BTC",
"entryPriceUsd": "64200.00",
"kind": "existing_position",
"leverage": "10",
"market": "perp",
"name": "Bitcoin",
"performance": {
"currentPriceUsd": "67450.50",
"pnlPct": "5.06",
"pnlUsd": "1625.25"
},
"priceSeries": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"side": "long",
"size": "0.5",
"symbol": "BTC"
},
"deepLinkPath": "v1/perps/btc-usd",
"createdAt": "2026-08-24T19:41:56.322Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "10x Long",
"colorHex": "#45E863"
},
"icon": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B"
},
"headline": {
"value": "+$1,625.25",
"amountUsd": "1625.25",
"changePct": "+5.06%",
"tone": "positive"
},
"byline": {
"value": "$33,725.25"
},
"stats": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"sparklines": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"color": "#45E863"
}
],
"heading": {
"type": "title_subtitle",
"title": "BTC",
"subtitle": "Bitcoin"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.322Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B",
"shape": "circle"
},
"title": "BTC",
"subtitle": "Bitcoin",
"badges": [
{
"text": "10x Long",
"colorHex": "#45E863"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$33,725.25",
"title": "+$1,625.25",
"side": "+5.06%",
"amountUsd": "1625.25",
"tone": "positive",
"region": "overlay"
},
"blocks": [
{
"type": "chart",
"series": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"colorHex": "#45E863",
"endpointMarker": true
}
]
},
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "overlay"
}
],
"footer": {
"date": "2026-08-24T19:41:56.322Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/5FxZWAVCOg
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "5FxZWAVCOg",
"v": 2,
"payload": {
"amount": "2500",
"caip19": "solana:101/nativeToken:501",
"entryPriceUsd": "102.11",
"kind": "existing_position",
"market": "spot",
"name": "Solana",
"performance": {
"currentPriceUsd": "150.25",
"pnlPct": "47.14",
"pnlUsd": "120350.00"
},
"priceSeries": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"symbol": "SOL"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.440Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "+$120,350.00",
"amountUsd": "120350.00",
"changePct": "+47.14%",
"tone": "positive"
},
"byline": {
"value": "$375,625.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$150.25",
"amountUsd": "150.25"
}
],
"sparklines": [
{
"data": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"color": "#45E863"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "Solana"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.440Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "Solana"
},
"hero": {
"type": "amount",
"eyebrow": "$375,625.00",
"title": "+$120,350.00",
"side": "+47.14%",
"amountUsd": "120350.00",
"tone": "positive",
"region": "overlay"
},
"blocks": [
{
"type": "chart",
"series": [
{
"data": [
"102.11",
"118.40",
"97.02",
"150.25"
],
"colorHex": "#45E863",
"endpointMarker": true
}
]
},
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$150.25",
"amountUsd": "150.25"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "overlay"
}
],
"footer": {
"date": "2026-08-24T19:41:56.440Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/ZlXex2pxCV
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "ZlXex2pxCV",
"v": 2,
"payload": {
"amount": "2500",
"caip19": "solana:101/nativeToken:501",
"entryPriceUsd": "102.11",
"kind": "new_position",
"market": "spot"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.553Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "$102.11"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.553Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "$102.11"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.553Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/eV0pafcNm0
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "eV0pafcNm0",
"v": 2,
"payload": {
"caip19": "hypercore:mainnet/perp:BTC",
"closedAt": "2026-08-20T10:00:00.000Z",
"entryPriceUsd": "64200.00",
"kind": "closed_position",
"leverage": "5",
"market": "perp",
"performance": {
"currentPriceUsd": "60000.00",
"pnlPct": "-6.54",
"pnlUsd": "-1050.00"
},
"side": "short",
"size": "0.25"
},
"deepLinkPath": "v1/perps/btc-usd",
"createdAt": "2026-08-24T19:41:56.563Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "5x Short",
"colorHex": "#FF0037"
},
"icon": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B"
},
"headline": {
"value": "-$1,050.00",
"amountUsd": "-1050.00",
"changePct": "-6.54%",
"tone": "negative"
},
"byline": {
"value": "$15,000.00"
},
"stats": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Exit",
"value": "$60,000.00",
"amountUsd": "60000.00"
}
],
"heading": {
"type": "title_subtitle",
"title": "BTC",
"subtitle": "$60,000.00"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.563Z",
"dateLabel": "Closed on Aug 20, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "negative",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B",
"shape": "circle"
},
"title": "BTC",
"subtitle": "$60,000.00",
"badges": [
{
"text": "5x Short",
"colorHex": "#FF0037"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$15,000.00",
"title": "-$1,050.00",
"side": "-6.54%",
"amountUsd": "-1050.00",
"tone": "negative",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Exit",
"value": "$60,000.00",
"amountUsd": "60000.00"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.563Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/eNC4kp3tG2
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "eNC4kp3tG2",
"v": 2,
"payload": {
"kind": "profile",
"username": "moonshot_mike"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.574Z",
"sharer": {},
"display": {
"headerTitle": "Share Profile",
"icon": {
"fallbackText": "M"
},
"headline": {
"value": "@moonshot_mike",
"tone": "neutral"
},
"heading": {
"type": "title_subtitle",
"title": "@moonshot_mike"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.574Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Profile",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "badged_row",
"image": {
"fallbackText": "M",
"shape": "circle"
},
"title": "@moonshot_mike",
"trailing": {
"attribution": {
"text": "Follow on",
"brandLogo": true
}
}
},
"blocks": [
{
"type": "identity",
"title": "Share Profile",
"layout": "row"
}
],
"footer": {
"date": "2026-08-24T19:41:56.574Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/BDeCJ3Ua2M
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "BDeCJ3Ua2M",
"v": 2,
"payload": {
"chatId": "hub:world-cup-2026",
"kind": "chat"
},
"deepLinkPath": "v1/chat/world-cup-2026?chatType=hub",
"createdAt": "2026-08-24T19:41:56.582Z",
"sharer": {},
"display": {
"headerTitle": "Share Chat",
"icon": {
"fallbackText": "G"
},
"headline": {
"value": "Join the conversation",
"tone": "neutral"
},
"stats": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"heading": {
"type": "title_subtitle",
"title": "Group chat"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.582Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Chat",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "G",
"shape": "circle"
},
"title": "Group chat"
},
"hero": {
"type": "live",
"title": "Join the conversation",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"orientation": "horizontal",
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.582Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/grF2BR9hZu
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "grF2BR9hZu",
"v": 2,
"payload": {
"chanceMultiplier": "1.6666",
"eventTitle": "World Cup on Phantom",
"kind": "new_position",
"market": "prediction",
"outcome": "Mexico",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"color": "#4A9EF7",
"label": "Mexico",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
],
"ticker": "KXWC-26-MEX",
"valueUsd": "7500.00"
},
"deepLinkPath": "predictions/event/KXWC-26-MEX",
"createdAt": "2026-08-24T19:41:56.724Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Mexico"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral"
},
"byline": {
"value": "$7,500.00"
},
"stats": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"heading": {
"type": "multi_series",
"series": [
{
"text": "World Cup on Phantom"
}
]
},
"userVerified": false,
"date": "2026-08-24T19:41:56.724Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"hero": {
"type": "amount",
"eyebrow": "$7,500.00",
"title": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.724Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/BUJpKPEGns
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "BUJpKPEGns",
"v": 2,
"payload": {
"chanceMultiplier": "2.63",
"kind": "existing_position",
"market": "prediction",
"outcome": "Alcaraz",
"performance": {
"pnlPct": "63.15",
"pnlUsd": "240.00"
},
"ticker": "KXATP-26USO-ALC",
"valueUsd": "380.00"
},
"deepLinkPath": "predictions/event/KXATP-26USO-ALC",
"createdAt": "2026-08-24T19:41:56.735Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Alcaraz"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "+$240.00",
"amountUsd": "240.00",
"changePct": "+63.15%",
"tone": "positive"
},
"byline": {
"value": "$380.00"
},
"stats": [
{
"label": "Outcome",
"value": "Alcaraz"
},
{
"label": "Chance",
"value": "38.02%"
}
],
"heading": {
"type": "title_subtitle",
"title": "KXATP-26USO-ALC",
"subtitle": "Alcaraz"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.735Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "K",
"shape": "circle"
},
"title": "KXATP-26USO-ALC",
"subtitle": "Alcaraz",
"badges": [
{
"text": "Alcaraz"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$380.00",
"title": "+$240.00",
"side": "+63.15%",
"amountUsd": "240.00",
"tone": "positive",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Outcome",
"value": "Alcaraz"
},
{
"label": "Chance",
"value": "38.02%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.735Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/bVAZhoppeq
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "bVAZhoppeq",
"v": 2,
"payload": {
"amount": "2500",
"caip19": "solana:101/nativeToken:501",
"entryPriceUsd": "102.11",
"kind": "new_position",
"market": "spot",
"name": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"symbol": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.751Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "\ud83d\ude80"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"subtitle": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.751Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "\ud83d\ude80",
"shape": "circle"
},
"title": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80",
"subtitle": "\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80\ud83d\ude80"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.751Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/Bsdcz2XuEn
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "Bsdcz2XuEn",
"v": 2,
"payload": {
"amount": "2500",
"caip19": "solana:101/nativeToken:501",
"entryPriceUsd": "102.11",
"kind": "new_position",
"market": "spot",
"name": "<script>alert('x')</script>",
"symbol": "SOL"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.758Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "<script>alert('x')</script>"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.758Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "<script>alert('x')</script>"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.758Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/U2Hms4bf0R
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "U2Hms4bf0R",
"v": 2,
"payload": {
"amount": "2500",
"caip19": "solana:101/nativeToken:501",
"entryPriceUsd": "102.11",
"kind": "new_position",
"market": "spot"
},
"deepLinkPath": "portfolio",
"createdAt": "2026-08-24T19:41:56.767Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"icon": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S"
},
"headline": {
"value": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral"
},
"byline": {
"value": "$255,275.00"
},
"stats": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"heading": {
"type": "title_subtitle",
"title": "SOL",
"subtitle": "$102.11"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.767Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "solana:101/nativeToken:501",
"fallbackText": "S",
"shape": "circle"
},
"title": "SOL",
"subtitle": "$102.11"
},
"hero": {
"type": "amount",
"eyebrow": "$255,275.00",
"title": "$255,275.00",
"amountUsd": "255275",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$102.11",
"amountUsd": "102.11"
},
{
"label": "Current",
"value": "$102.11",
"amountUsd": "102.11"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.767Z",
"brandLogo": true
}
}
}
Assertion: record reads back with displayV2
GET http://localhost:3000/share/SmJorbmRBl
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"shareId": "SmJorbmRBl",
"v": 2,
"payload": {
"chatId": "hub:world-cup-2026",
"kind": "chat"
},
"deepLinkPath": "v1/chat/world-cup-2026?chatType=hub",
"createdAt": "2026-08-24T19:41:56.777Z",
"sharer": {},
"display": {
"headerTitle": "Share Chat",
"icon": {
"fallbackText": "G"
},
"headline": {
"value": "Join the conversation",
"tone": "neutral"
},
"stats": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"heading": {
"type": "title_subtitle",
"title": "Group chat"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.777Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Chat",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"fallbackText": "G",
"shape": "circle"
},
"title": "Group chat"
},
"hero": {
"type": "live",
"title": "Join the conversation",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Chat",
"value": "hub:world-cup-2026"
}
],
"orientation": "horizontal",
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.777Z",
"brandLogo": true
}
}
}
Assertion: 404, no record
GET http://localhost:3000/share/ZZZZZZZZZZ
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"message": "Share not found",
"error": "Not Found",
"statusCode": 404
}
Assertion: rejected by the param schema
Corrected: there is no separate param-shape validation, so an id that cannot exist reads as 404 Share not found.
GET http://localhost:3000/share/short
{
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
(no body)
{
"message": "Share not found",
"error": "Not Found",
"statusCode": 404
}
Assertion: older client still gets a card
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000",
"x-phantom-version": "26.27.3"
}
{
"payload": {
"kind": "new_position",
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
]
}
}
{
"shareId": "jqefDGI3z1",
"v": 2,
"payload": {
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
],
"kind": "new_position"
},
"deepLinkPath": "predictions/event/KXWC-26-MEX",
"createdAt": "2026-08-24T19:41:56.866Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Mexico"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral"
},
"byline": {
"value": "$7,500.00"
},
"stats": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"heading": {
"type": "multi_series",
"title": "World Cup on Phantom",
"series": [
{
"text": "Mexico"
},
{
"text": "South Africa"
}
]
},
"userVerified": false,
"date": "2026-08-24T19:41:56.866Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"heading": {
"type": "banner",
"image": {
"fallbackText": "K",
"shape": "circle"
},
"title": "World Cup on Phantom"
},
"hero": {
"type": "amount",
"eyebrow": "$7,500.00",
"title": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.866Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/jqefDGI3z1"
}
Assertion: newer client gets a card
POST http://localhost:3000/share
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000",
"x-phantom-version": "26.28.0"
}
{
"payload": {
"kind": "new_position",
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
]
}
}
{
"shareId": "Et9nimXBbl",
"v": 2,
"payload": {
"market": "prediction",
"ticker": "KXWC-26-MEX",
"outcome": "Mexico",
"eventTitle": "World Cup on Phantom",
"chanceMultiplier": "1.6666",
"valueUsd": "7500.00",
"payoutIfRightUsd": "12423.00",
"priceSeriesSet": [
{
"label": "Mexico",
"color": "#4A9EF7",
"series": [
"0.55",
"0.60"
]
},
{
"label": "South Africa",
"series": [
"0.45",
"0.40"
]
}
],
"kind": "new_position"
},
"deepLinkPath": "predictions/event/KXWC-26-MEX",
"createdAt": "2026-08-24T19:41:56.873Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "Mexico"
},
"icon": {
"fallbackText": "K"
},
"headline": {
"value": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral"
},
"byline": {
"value": "$7,500.00"
},
"stats": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"heading": {
"type": "multi_series",
"series": [
{
"text": "World Cup on Phantom"
}
]
},
"userVerified": false,
"date": "2026-08-24T19:41:56.873Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "neutral",
"anchor": "bottomright"
}
},
"hero": {
"type": "amount",
"eyebrow": "$7,500.00",
"title": "$7,500.00",
"amountUsd": "7500.00",
"tone": "neutral",
"region": "body"
},
"blocks": [
{
"type": "stats",
"data": [
{
"label": "Payout if right",
"value": "+$12,423.00",
"amountUsd": "12423.00",
"tone": "positive"
},
{
"label": "Chance",
"value": "60.37%"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "body"
}
],
"footer": {
"date": "2026-08-24T19:41:56.873Z",
"brandLogo": true
}
},
"shareUrl": "https://phantom.com/share/Et9nimXBbl"
}
Assertion: handle that never resolves is rejected
No media-provider credentials locally, so `ShareBackdropResolver.resolution()` returns `indeterminate` and the patch is accepted. The reject path needs a configured provider.
PATCH http://localhost:3000/share/PuTdBS1y0F
{
"content-type": "application/json",
"x-forwarded-user": "550e8400-e29b-41d4-a716-446655440000"
}
{
"backdrop": {
"mediaId": "definitely-not-a-real-handle"
}
}
{
"shareId": "PuTdBS1y0F",
"v": 2,
"payload": {
"caip19": "hypercore:mainnet/perp:BTC",
"entryPriceUsd": "64200.00",
"kind": "existing_position",
"leverage": "10",
"market": "perp",
"name": "Bitcoin",
"performance": {
"currentPriceUsd": "67450.50",
"pnlPct": "5.06",
"pnlUsd": "1625.25"
},
"priceSeries": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"side": "long",
"size": "0.5",
"symbol": "BTC"
},
"deepLinkPath": "v1/perps/btc-usd",
"createdAt": "2026-08-24T19:41:56.322Z",
"sharer": {},
"display": {
"headerTitle": "Share Position",
"badge": {
"text": "10x Long",
"colorHex": "#45E863"
},
"icon": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B"
},
"headline": {
"value": "+$1,625.25",
"amountUsd": "1625.25",
"changePct": "+5.06%",
"tone": "positive"
},
"byline": {
"value": "$33,725.25"
},
"stats": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"sparklines": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"color": "#45E863"
}
],
"heading": {
"type": "title_subtitle",
"title": "BTC",
"subtitle": "Bitcoin"
},
"userVerified": false,
"date": "2026-08-24T19:41:56.322Z",
"dateLabel": "Aug 24, 2026"
},
"displayV2": {
"version": 2,
"headerTitle": "Share Position",
"theme": {
"frame": "bounded",
"accentHex": "#AB9FF2",
"glow": {
"tone": "positive",
"anchor": "bottomright"
}
},
"heading": {
"type": "row",
"image": {
"caip19": "hypercore:mainnet/perp:BTC",
"fallbackText": "B",
"shape": "circle"
},
"title": "BTC",
"subtitle": "Bitcoin",
"badges": [
{
"text": "10x Long",
"colorHex": "#45E863"
}
]
},
"hero": {
"type": "amount",
"eyebrow": "$33,725.25",
"title": "+$1,625.25",
"side": "+5.06%",
"amountUsd": "1625.25",
"tone": "positive",
"region": "overlay"
},
"blocks": [
{
"type": "chart",
"series": [
{
"data": [
"64200.00",
"63810.25",
"65120.00",
"66480.75",
"67450.50"
],
"colorHex": "#45E863",
"endpointMarker": true
}
]
},
{
"type": "stats",
"data": [
{
"label": "Entry",
"value": "$64,200.00",
"amountUsd": "64200.00"
},
{
"label": "Current",
"value": "$67,450.50",
"amountUsd": "67450.50"
}
],
"orientation": "vertical",
"dividerAbove": true,
"region": "overlay"
}
],
"footer": {
"date": "2026-08-24T19:41:56.322Z",
"brandLogo": true
}
}
}
Assertion: not the owner, so not found
The local auth layer only accepts the canonical dev user id — any other `x-forwarded-user` is 401 before the route runs, so ownership cannot be exercised here.
PATCH http://localhost:3000/share/PuTdBS1y0F
{
"content-type": "application/json",
"x-forwarded-user": "11111111-2222-3333-4444-555555555555"
}
{
"backdrop": null
}
{
"message": "Unauthorized",
"statusCode": 401
}
node v26.7.0
commit f5af11b44e (+5 uncommitted files)
service share, NestJS, port 3000
database CockroachDB @ localhost:26257/share (docker: cockroachdb-blockchain), kysely migrate:latest — no new migrations
cache DragonflyDB @ localhost:6379 (docker: dragonflydb-blockchain)
env vars set ENABLE_SIMPLE_LOGGING, LOG_LEVEL, OTEL_SERVICE_NAME, PORT, DATABASE_URL, ENVIRONMENT,
PHANTOM_API_URL, USER_SERVICE_URL, ACTIVATION_PROGRAM_SERVICE_URL, REDIS_HOST,
BACKEND_RUDDERSTACK_WRITEKEY, EPPO_BACKEND_FEATURE_FLAG_ENVIRONMENT_AWARE_SDK_KEY,
SOCIAL_CHAT_API_URL (names only)
not available media-provider credentials (backdrop resolution reads `indeterminate`),
any auth subject other than the canonical dev user id