Skip to content
INTERACTIVE STARTER STUDIO

Starter Studio

Pick a user flow, choose a data source or built-in function, optionally encrypt the confidential patch in-browser, and Morpheus will generate the payload and Neo N3 request snippet you need next.

Oracle state loading: Checking the selected network contract, fee, and on-chain state.

Public key loading: Checking protected runtime access for local encryption.

Network: Neo N3 TestnetOracle: 0x4b882e94ed766807c4fd728768f972e13008ad52Fee: unverified

1. Configure Flow

ALGORITHM
X25519-HKDF-SHA256-AES-256-GCM
KEY SOURCE
loading
KEY READINESS
Public key loading: Checking protected runtime access for local encryption.

2. Use The Output

Encrypt the confidential patch before submitting an encrypted flow.
Public key loading: Checking protected runtime access for local encryption.
Oracle state loading: Checking the selected network contract, fee, and on-chain state.
REQUEST TYPE
privacy_oracle
jsonPayload JSON
{
  "target_chain": "neo_n3",
  "symbol": "TWELVEDATA:NEO-USD",
  "encrypted_payload": "<sealed confidential patch>"
}
csharpNeo N3 Request Snippet
string payloadJson = "{\"target_chain\":\"neo_n3\",\"symbol\":\"TWELVEDATA:NEO-USD\",\"encrypted_payload\":\"<sealed confidential patch>\"}";

BigInteger requestId = (BigInteger)Contract.Call(
 OracleHash,
 "request",
 CallFlags.All,
 "privacy_oracle",
 (ByteString)payloadJson,
 Runtime.ExecutingScriptHash,
 "onOracleResult"
);
textPayload ByteArray (Base64 UTF-8)
eyJ0YXJnZXRfY2hhaW4iOiJuZW9fbjMiLCJzeW1ib2wiOiJUV0VMVkVEQVRBOk5FTy1VU0QiLCJlbmNyeXB0ZWRfcGF5bG9hZCI6IjxzZWFsZWQgY29uZmlkZW50aWFsIHBhdGNoPiJ9
jsonNeo N3 RPC invokeFunction Params
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "invokefunction",
  "params": [
    "0x4b882e94ed766807c4fd728768f972e13008ad52",
    "request",
    [
      {
        "type": "String",
        "value": "privacy_oracle"
      },
      {
        "type": "ByteArray",
        "value": "eyJ0YXJnZXRfY2hhaW4iOiJuZW9fbjMiLCJzeW1ib2wiOiJUV0VMVkVEQVRBOk5FTy1VU0QiLCJlbmNyeXB0ZWRfcGF5bG9hZCI6IjxzZWFsZWQgY29uZmlkZW50aWFsIHBhdGNoPiJ9"
      },
      {
        "type": "Hash160",
        "value": "0x8c506f224d82e67200f20d9d5361f767f0756e3b"
      },
      {
        "type": "String",
        "value": "onOracleResult"
      }
    ]
  ]
}
jsonCallback Query Template
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "invokefunction",
  "params": [
    "0x8c506f224d82e67200f20d9d5361f767f0756e3b",
    "getCallback",
    [
      {
        "type": "Integer",
        "value": "<requestId>"
      }
    ]
  ]
}
NEOLINE MANUAL ENTRY
Contract: 0x4b882e94ed766807c4fd728768f972e13008ad52
Method: request
Arg 1 / String: privacy_oracle
Arg 2 / ByteArray: use the base64 payload above
Arg 3 / Hash160: 0x8c506f224d82e67200f20d9d5361f767f0756e3b
Arg 4 / String: onOracleResult
NEO N3 CALL ARGUMENTS
Arg 1: privacy_oracle
Arg 2: UTF-8 payload JSON bytes
Arg 3: callback contract = Runtime.ExecutingScriptHash for your own consumer, or 0x8c506f224d82e67200f20d9d5361f767f0756e3b for direct wallet testing
Arg 4: callback method = onOracleResult
Fee: unverified
Zero-Code Testnet Test Mode
1. Keep callback hash at 0x8c506f224d82e67200f20d9d5361f767f0756e3b.
2. Before calling request, pre-fund fee credit with a GAS transfer to 0x4b882e94ed766807c4fd728768f972e13008ad52.
3. Neo N3 GAS token hash: 0xd2a4cff31913016155e38e474a2c06d08be276cf.
4. Oracle will consume prepaid credit from the callback contract first, otherwise from the requester address.
5. After submission, call getCallback(requestId) on 0x8c506f224d82e67200f20d9d5361f767f0756e3b.
Callback Readback
1. Submit the request through 0x4b882e94ed766807c4fd728768f972e13008ad52.
2. Read the emitted requestId from your transaction result.
3. If using the universal consumer, call getCallback(requestId) on 0x8c506f224d82e67200f20d9d5361f767f0756e3b.
4. Verify output_hash, attestation_hash, and tee_attestation.report_data in Attestation Verifier.
CURRENT DESIGNUPDATED FOR DUAL-CVM ARCHITECTURE