diff --git a/common/resolver/contracts.go b/common/resolver/contracts.go
new file mode 100644
index 0000000000000000000000000000000000000000..ed7d648d672e945419e57e01e7f4945bb61859bf
--- /dev/null
+++ b/common/resolver/contracts.go
@@ -0,0 +1,36 @@
+package resolver
+
+const ( // built-in contracts address and code
+	ContractCodeURLhint = "0x60b180600c6000396000f30060003560e060020a90048063d66d6c1014601557005b60216004356024356027565b60006000f35b6000600083815260200190815260200160002054600160a060020a0316600014806075575033600160a060020a03166000600084815260200190815260200160002054600160a060020a0316145b607c5760ad565b3360006000848152602001908152602001600020819055508060016000848152602001908152602001600020819055505b505056"
+	/*
+		contract URLhint {
+			function register(uint256 _hash, uint256 _url) {
+				if (owner[_hash] == 0 || owner[_hash] == msg.sender) {
+					owner[_hash] = msg.sender;
+					url[_hash] = _url;
+				}
+			}
+			mapping (uint256 => address) owner;
+			mapping (uint256 => uint256) url;
+		}
+	*/
+
+	ContractCodeHashReg = "0x609880600c6000396000f30060003560e060020a9004806331e12c2014601f578063d66d6c1014602b57005b6025603d565b60006000f35b6037600435602435605d565b60006000f35b600054600160a060020a0316600014605357605b565b336000819055505b565b600054600160a060020a031633600160a060020a031614607b576094565b8060016000848152602001908152602001600020819055505b505056"
+	/*
+		   contract HashReg {
+			function setowner() {
+				if (owner == 0) {
+					owner = msg.sender;
+				}
+			}
+		   	function register(uint256 _key, uint256 _content) {
+				if (msg.sender == owner) {
+		   			content[_key] = _content;
+				}
+		   	}
+			address owner;
+		   	mapping (uint256 => uint256) content;
+		   }
+	*/
+
+)