On the sidechain side, a 21M UTXO entry is awarded to the functionaries, who transfer coins out of it whenever transfers on the Bitcoin side into the sidechain happen.
Actually that is not the case for the testnet->sidechain direction.
Here is the transaction in the genesis block on elements-alpha:
{
"txid" : "0377d218c36f5ee90244e660c387002296f3e4d5cac8fac8530b07e4d3241ccf",
"version" : 1,
"locktime" : 0,
"fee" : 0.00000000,
"vin" : [
{
"coinbase" : "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f7 2206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 21000000.00000000,
"serValue" : "00000000000000000000000000000000000000000000000000000775f05a0740000000",
"n" : 0,
"scriptPubKey" : {
"asm" : "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 9eac001049d5c38ece8996485418421f4a01e2d7 OP_WITHDRAWPROOFVERIFY",
"hex" : "206fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000149eac001049d 5c38ece8996485418421f4a01e2d7b3",
"type" : "withdraw"
}
}
]
}
On the testnet side, the fedpeg is used for lack of enough smart contract support in testnet; on the alpha side it uses the actual 2WP in the network.
The spend of this output looks like this:
$ ./alpha-cli getrawtransaction eabe26aba6286e1ee439baedeb75094ec0bcdaf54ed9481d9d2183e8a6424755 1
{
"txid" : "eabe26aba6286e1ee439baedeb75094ec0bcdaf54ed9481d9d2183e8a6424755",
"version" : 1,
"locktime" : 0,
"fee" : 0.00000000,
"vin" : [
{
"txid" : "0377d218c36f5ee90244e660c387002296f3e4d5cac8fac8530b07e4d3241ccf",
"vout" : 0,
"scriptSig" : {
"asm" : "75029000a1 81 5032534894ffbf32c1f1c0d3089b27c98fd991d5d7329ebd7d711223e2cde5a9417a1fa3e852c57 6 0300000042e1a5148148b706b3418aea0e2ed0fe49919439553429a828ed1a000000000091dab31 b6897b3a6e50ce86914ae69e4b7a39a600c128c9df5718a78075f8b32d7707555c0ff3f1abf1e48 92c708000010b163fb32006e22e1956cb50d15d75f55d68b36ce089bf56e8739b72c6b4c1c4910f 7e449e7779bfebe825eea12559dc48ec09633551c9516447be79b84b1113dbb09a75b2bd2031b19 fed231f5c8dda7a4aef7319a9dd6b0bba425bddc270f2c03bb2c3fad7fe303d2fff3adeec4d7771 5d78b642e8b0751346774e0e00f50901dd3779d3a7a7d9f04c3b8853c0fa94e9951fd18ccd2912d fbb53ea243ccc713d0e24e2be9e544119a73807c2188ee3b374bd8eb109537253102b61087b801b f8c9dc00bddca2cf573851222de0915b143c5048c625b515271771a9e19512e6ba455ed29011b2e f070015a2fe10fc4baa5478503e9853733168c240929e0ba05ff5247d55530039e023110c7411ff 46025947347162beff471e1c1ee9086f6b522234147d959379d4c03bd0ef089dbb7352c6bb8c273 4318ea14f3b0fbb04327cb2a0322955ea8b8c2511b62e5e3b055253164243b4572d6580bbda4858 cc00c53306fab6fbde55eea4f43e67a34ec2f461e259c4b2c47835e6d813efec769b8ef2ff38db2 5c32567e191886702a7e49277601465b68fe008b682b1885a20d44ba2021630ec49c17089b794c5 c7d1d5b6ee83f f494d11a11637bb2debec3f4f9d6c7c7efe9995a6a3f35fd46e6ea1edc3315f48115bc6526ca2d1 7b96480e2f065efe8c01d03b378dab1e2eab8da6dfd0a815117f6ff1fcad2597ed7b480dd2d04ff 1f1b00 2 01000000024be4804596920c8de3a710978a90afa750fa25a723e67c1bf2b8e1802aab7f4c00000 0006a47304402200975c7747078f5d6712ab5cb513c0a0eff039595b2a1866d631700fc469162c5 022046322286c516bd02c4f74b24009ee8d74c46778c0f391a0a030e632752be4fde012103eb6fb 439cb6c013f5d167d3a3c3effe4ae6a60a52887889782a24662ce12d789feffffffcaee3571009f f7d46b541350210c4e4b7a131218bb7fb474fb3c93599a2ea424000000007000483045022100b3c c96b65e3ef6887966ef6b65ea901b2259862d93b37e7bbc2cd7ea5f6130f702205107f1b523363c 5fe8488fb50b5c8a7981d8da09a1ddf6ac68e10f9591620a6a0125512102fc960ac6ef2feff9439 275bd187061908e738943c6517180ff954861e12f41d051aefeffffff02c08df602000000001976 a914164c0f03d4c8fe45596d1c67a1f8115196618da088ac00e1f5050000000017a91475e1f5636 6999fa7060d943a45ba42e065b097958759d30600 1 1 01000000010000000000000000000000000000000000000000000000000000000000000000fffff fff270365d3061a4d696e656420627920416e74506f6f6c200f5fbc1620557570d70100000000b3 0800ffffffff0188cfb557000000001976a91424e677cc1018907dc33dc8945aa35d2704ef090a8 8ac00000000 1",
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 1.00000000,
"serValue" : "000000000000000000000000000000000000000000000000000000000005f5e1000000",
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_IF 447333 bf01b88710b6023125379510ebd84b373bee88217c80739a1144e5e92b4ee2d0 1 0 9eac001049d5c38ece8996485418421f4a01e2d7 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 OP_REORGPROOFVERIFY OP_ELSE 144 OP_NOP3 OP_DROP OP_HASH160 d7329ebd7d711223e2cde5a9417a1fa3e852c576 OP_EQUAL OP_ENDIF",
"type" : "withdrawout"
}
},
{
"value" : 20999999.00000000,
"serValue" : "00000000000000000000000000000000000000000000000000000775f054115f000000",
"n" : 1,
"scriptPubKey" : {
"asm" : "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 9eac001049d5c38ece8996485418421f4a01e2d7 OP_WITHDRAWPROOFVERIFY",
"type" : "withdraw"
}
}
],
"blockhash" : "a94f95cc47b444c10449c0eed51d895e4970560c4a1a9d15d46124858abc3afe",
"confirmations" : 1708,
"time" : 1433792346,
"blocktime" : 1433792346
}
Which encodes a testnet transaction, which is pay-to-contracting the fedpeg federation, and shows it is a member in a testnet block, most of the separate pushes you see are it walking the hashtree for that membership proof.