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.

1. Configure Flow

ALGORITHM
X25519-HKDF-SHA256-AES-256-GCM
KEY SOURCE
loading

2. Use The Output

REQUEST TYPE
privacy_oracle
jsonPayload JSON
{
  "target_chain": "neo_n3",
  "provider": "twelvedata",
  "symbol": "NEO-USD",
  "encrypted_payload": "<sealed confidential patch>"
}
csharpNeo N3 Request Snippet
string payloadJson = "{\"target_chain\":\"neo_n3\",\"provider\":\"twelvedata\",\"symbol\":\"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)
eyJ0YXJnZXRfY2hhaW4iOiJuZW9fbjMiLCJwcm92aWRlciI6InR3ZWx2ZWRhdGEiLCJzeW1ib2wiOiJORU8tVVNEIiwiZW5jcnlwdGVkX3BheWxvYWQiOiI8c2VhbGVkIGNvbmZpZGVudGlhbCBwYXRjaD4ifQ==
jsonNeo N3 RPC invokeFunction Params
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "invokefunction",
  "params": [
    "0x017520f068fd602082fe5572596185e62a4ad991",
    "request",
    [
      {
        "type": "String",
        "value": "privacy_oracle"
      },
      {
        "type": "ByteArray",
        "value": "eyJ0YXJnZXRfY2hhaW4iOiJuZW9fbjMiLCJwcm92aWRlciI6InR3ZWx2ZWRhdGEiLCJzeW1ib2wiOiJORU8tVVNEIiwiZW5jcnlwdGVkX3BheWxvYWQiOiI8c2VhbGVkIGNvbmZpZGVudGlhbCBwYXRjaD4ifQ=="
      },
      {
        "type": "Hash160",
        "value": "0x89b05cac00804648c666b47ecb1c57bc185821b7"
      },
      {
        "type": "String",
        "value": "onOracleResult"
      }
    ]
  ]
}
jsonCallback Query Template
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "invokefunction",
  "params": [
    "0x89b05cac00804648c666b47ecb1c57bc185821b7",
    "getCallback",
    [
      {
        "type": "Integer",
        "value": "<requestId>"
      }
    ]
  ]
}
NEOLINE MANUAL ENTRY
Contract: 0x017520f068fd602082fe5572596185e62a4ad991
Method: request
Arg 1 / String: privacy_oracle
Arg 2 / ByteArray: use the base64 payload above
Arg 3 / Hash160: 0x89b05cac00804648c666b47ecb1c57bc185821b7
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 0x89b05cac00804648c666b47ecb1c57bc185821b7 for direct wallet testing
Arg 4: callback method = onOracleResult
Fee: 0.01 GAS
Zero-Code Mainnet Test Mode
1. Keep callback hash at 0x89b05cac00804648c666b47ecb1c57bc185821b7.
2. Before calling request, pre-fund fee credit with a GAS transfer to 0x017520f068fd602082fe5572596185e62a4ad991.
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 0x89b05cac00804648c666b47ecb1c57bc185821b7.
Callback Readback
1. Submit the request through 0x017520f068fd602082fe5572596185e62a4ad991.
2. Read the emitted requestId from your transaction result.
3. If using the universal consumer, call getCallback(requestId) on 0x89b05cac00804648c666b47ecb1c57bc185821b7.
4. Verify output_hash, attestation_hash, and tee_attestation.report_data in Attestation Verifier.
Previous Starter TemplatesNextNeoDID
REVISION 1.0.2LAST UPDATED: 2026-03-11