The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.
eShop uses the following domains over HTTPS:
These domains are used by NIM:
While eShop is loading, eShop will use command NIMS:CheckSysupdateAvailableSOAP. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the "system update is available" message.
The eShop application uses command AMNet:FinishInstallToMedia to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses AMNet:FinishInstallToMedia to finalize installing all system titles (from system updates).
 eShop QR Codes
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with "ESHOP://" string followed by a decimal eShop content link id(same IDs used internally by eShop for all content) and then some special data, delimited by a dot symbol, which can be ommited.
In order for the QR-code string data to be valid for eShop, it must begin with "ESHOP://5", with the first ID being all decimal.
|QR Code source||Region||Title||Serial||Title ID|
|ESHOP://50010000000201.PEAALL000000||EUR||Nintendogs & Cats Demo||ADA/B/C||0004000200030c01|
|ESHOP://50010000008009.PEAALL000000||EUR||Resident Evil Revelations Demo||ABRE||000400020005ee01|
|ESHOP://50010000008123.J00101Z00095||JPN||Rhythm Thief And The Emperor's Treasure Demo||ARTJ||00040002|
|ESHOP://50010000008404.PEAALL000000||EUR||Mario And Sonic At The London 2012 Olympic Games Demo||ACMP ||00040002|
|ESHOP://50010000008447.J00101Z00094||JPN||Resident Evil Revelations Demo||ABRJ||00040002|
|ESHOP://50010000008647.J00101Z00096||JPN||Metal Gear Solid Snake Eater 3D Demo||AMGJ||0004000200048101|
|ESHOP://50010000008648.J00101Z00097||JPN||Theatrythm Final Fantasy||ATHJ||?|
|ESHOP://50010000008782.PEAALL000000||EUR||Metal Gear Solid Snake Eater 3D Demo||AMGE||0004000200082401|
|ESHOP://50010000008842.PEAALL000000||EUR||Rhythm Thief And The Emperor's Treasure Demo||ARTP ||00040002|
|ESHOP://50010000009084.J00101Z00121||JPN||Hatsune Miku And Future Stars: Project Mirai Demo||AM9J||00040002|
|ESHOP://50010000009102.J00101Z00106||JPN||Denpa Ningen RPG||JD8J||?|
|ESHOP://50010000009161.J00101Z00118||JPN||Dillon's Rolling Western||JAMJ||00040000|
|ESHOP://50010000009261||USA||Dillon's Rolling Western||JAME?||00040000|
|ESHOP://50010000009401.J00101Z00120||JPN||Kingdom Hearts 3D Video Download||JZ8J||?|
|ESHOP://50010000009403.J00101Z00119||JPN||DQM 3D Video Download||JZ7J||?|
|ESHOP://50010000009575.PEAALL000000||EUR||Kid Icarus: Of Myths And Monsters (Virtual Console)||?||?|
- New QR Code for Japanese "Photos with Super Mario" has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8
- There is a link in the Japanese eShop [http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####] where you can replace the #### with the Japanese eShop title's serial and you will get it's QR code. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo QR code)
- You could use Google's Chart API to create a QR code from the codes above: https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above)
 NS eShop application parameters
This section describes the 0x1C-byte structure stored at the application parameters from APT:StartApplication, under the 0x300-byte buffer listed there.
|0x0||0x4||Unknown, usually 0x3?|
|0x4||0x4||Unknown, usually 0x0?|
|0x8||0x8||u64 binary eShop content ID, same ID from the first string in eShop QR-codes except in binary form.|
|0x10||0x10||This is the last string from the QR-code(if any), no NUL-termination.|
The ExtData File System for eShop is as follows:
root ├── icon ├── boss │ └── TIGER100.tmp └── user
|File||Details||Size||Firmware Introduced||Plain text|
|icon||Duplicate from application ExeFS. Always image 00000002||0x36C0 Bytes||2.0.0-2||Download_EUR|
|TIGER100.tmp||Always image 00000003.||0xCE47 bytes (varies?)||2.0.0-2|
The eShop pulls its music from a static, region-specific link in a format similar to the following:
https:// a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/CtfKXACbUPl8s7lk/BGM1/US_BGM1 , where region is one of the primary system regions (JP, US, EU, KR, etc.) Support also exists for 'BGM2', but this seems to be unused. The music is held in a BOSS container.
The format consists of a brief XML header describing the audio (including the date it was set as the main eShop theme, loop times, size, etc) followed by a raw AAC stream. Tools such as FFmpeg can handle rebuilding this stream with ADTS headers for proper time info and such.
The Home Menu uses nearly the same format for the Theme Shop's background music.